Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
45f79cae
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
45f79cae
编写于
5月 02, 2000
作者:
T
Thomas G. Lockhart
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixups in content and markup for 7.0 release.
上级
a6894eb8
变更
57
展开全部
隐藏空白更改
内联
并排
Showing
57 changed file
with
3221 addition
and
2471 deletion
+3221
-2471
doc/src/sgml/Makefile
doc/src/sgml/Makefile
+12
-10
doc/src/sgml/admin.sgml
doc/src/sgml/admin.sgml
+33
-33
doc/src/sgml/advanced.sgml
doc/src/sgml/advanced.sgml
+3
-3
doc/src/sgml/biblio.sgml
doc/src/sgml/biblio.sgml
+9
-7
doc/src/sgml/bki.sgml
doc/src/sgml/bki.sgml
+37
-17
doc/src/sgml/config.sgml
doc/src/sgml/config.sgml
+276
-248
doc/src/sgml/cvs.sgml
doc/src/sgml/cvs.sgml
+3
-3
doc/src/sgml/datatype.sgml
doc/src/sgml/datatype.sgml
+266
-161
doc/src/sgml/datetime.sgml
doc/src/sgml/datetime.sgml
+2
-2
doc/src/sgml/dfunc.sgml
doc/src/sgml/dfunc.sgml
+123
-109
doc/src/sgml/docguide.sgml
doc/src/sgml/docguide.sgml
+185
-71
doc/src/sgml/ecpg.sgml
doc/src/sgml/ecpg.sgml
+9
-7
doc/src/sgml/environ.sgml
doc/src/sgml/environ.sgml
+2
-2
doc/src/sgml/func.sgml
doc/src/sgml/func.sgml
+60
-63
doc/src/sgml/history.sgml
doc/src/sgml/history.sgml
+2
-2
doc/src/sgml/indices.sgml
doc/src/sgml/indices.sgml
+2
-1
doc/src/sgml/inherit.sgml
doc/src/sgml/inherit.sgml
+3
-3
doc/src/sgml/install.sgml
doc/src/sgml/install.sgml
+10
-5
doc/src/sgml/installation.sgml
doc/src/sgml/installation.sgml
+57
-57
doc/src/sgml/libpq++.sgml
doc/src/sgml/libpq++.sgml
+2
-2
doc/src/sgml/libpq.sgml
doc/src/sgml/libpq.sgml
+23
-23
doc/src/sgml/lisp.sgml
doc/src/sgml/lisp.sgml
+2
-3
doc/src/sgml/lobj.sgml
doc/src/sgml/lobj.sgml
+230
-230
doc/src/sgml/manage-ag.sgml
doc/src/sgml/manage-ag.sgml
+3
-3
doc/src/sgml/manage.sgml
doc/src/sgml/manage.sgml
+8
-8
doc/src/sgml/notation.sgml
doc/src/sgml/notation.sgml
+11
-11
doc/src/sgml/odbc.sgml
doc/src/sgml/odbc.sgml
+65
-50
doc/src/sgml/oper.sgml
doc/src/sgml/oper.sgml
+15
-15
doc/src/sgml/plsql.sgml
doc/src/sgml/plsql.sgml
+2
-2
doc/src/sgml/ports.sgml
doc/src/sgml/ports.sgml
+66
-57
doc/src/sgml/postgres.sgml
doc/src/sgml/postgres.sgml
+90
-82
doc/src/sgml/problems.sgml
doc/src/sgml/problems.sgml
+52
-35
doc/src/sgml/programmer.sgml
doc/src/sgml/programmer.sgml
+32
-25
doc/src/sgml/ref/create_database.sgml
doc/src/sgml/ref/create_database.sgml
+4
-4
doc/src/sgml/ref/create_index.sgml
doc/src/sgml/ref/create_index.sgml
+6
-6
doc/src/sgml/ref/create_table.sgml
doc/src/sgml/ref/create_table.sgml
+31
-35
doc/src/sgml/ref/initdb.sgml
doc/src/sgml/ref/initdb.sgml
+6
-6
doc/src/sgml/ref/pgctl-ref.sgml
doc/src/sgml/ref/pgctl-ref.sgml
+3
-2
doc/src/sgml/ref/postmaster.sgml
doc/src/sgml/ref/postmaster.sgml
+3
-3
doc/src/sgml/ref/vacuumdb.sgml
doc/src/sgml/ref/vacuumdb.sgml
+26
-14
doc/src/sgml/reference.sgml
doc/src/sgml/reference.sgml
+66
-75
doc/src/sgml/regress.sgml
doc/src/sgml/regress.sgml
+337
-273
doc/src/sgml/release.sgml
doc/src/sgml/release.sgml
+119
-57
doc/src/sgml/rules.sgml
doc/src/sgml/rules.sgml
+25
-8
doc/src/sgml/runtime.sgml
doc/src/sgml/runtime.sgml
+2
-2
doc/src/sgml/signals.sgml
doc/src/sgml/signals.sgml
+18
-1
doc/src/sgml/spi.sgml
doc/src/sgml/spi.sgml
+4
-1
doc/src/sgml/sql.sgml
doc/src/sgml/sql.sgml
+4
-4
doc/src/sgml/start.sgml
doc/src/sgml/start.sgml
+8
-8
doc/src/sgml/syntax.sgml
doc/src/sgml/syntax.sgml
+55
-31
doc/src/sgml/trigger.sgml
doc/src/sgml/trigger.sgml
+423
-250
doc/src/sgml/tutorial.sgml
doc/src/sgml/tutorial.sgml
+34
-33
doc/src/sgml/typeconv.sgml
doc/src/sgml/typeconv.sgml
+18
-1
doc/src/sgml/user.sgml
doc/src/sgml/user.sgml
+32
-32
doc/src/sgml/xfunc.sgml
doc/src/sgml/xfunc.sgml
+153
-154
doc/src/sgml/xtypes.sgml
doc/src/sgml/xtypes.sgml
+146
-118
doc/src/sgml/y2k.sgml
doc/src/sgml/y2k.sgml
+3
-3
未找到文件。
doc/src/sgml/Makefile
浏览文件 @
45f79cae
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#
#
#
#
# IDENTIFICATION
# IDENTIFICATION
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.1
3 2000/01/14 22:11:31 petere
Exp $
# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.1
4 2000/05/02 20:01:51 thomas
Exp $
#
#
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
...
@@ -67,17 +67,18 @@ vpath %.sgml ./ref
...
@@ -67,17 +67,18 @@ vpath %.sgml ./ref
MANSOURCES
=
$(
wildcard
ref/
*
.sgml
)
MANSOURCES
=
$(
wildcard
ref/
*
.sgml
)
APPLICATIONS
=
createdb.sgml createuser.sgml
\
APPLICATIONS
=
createdb.sgml createlang.sgml createuser.sgml
\
createlang.sgml
\
dropdb.sgml droplang.sgml dropuser.sgml
\
dropdb.sgml dropuser.sgml
\
ecpg-ref.sgml
\
droplang.sgml
\
initdb.sgml initlocation.sgml
\
initdb.sgml initlocation.sgml
\
ipcclean.sgml
\
ipcclean.sgml
\
pg_dump.sgml
\
pg_dump.sgml
\
pg_dumpall.sgml
\
pg_dumpall.sgml
\
pg_passwd.sgml
\
pg_upgrade.sgml
\
pg_upgrade.sgml
\
pgaccess-ref.sgml
\
pgaccess-ref.sgml
\
pgadmin-ref.sgml
\
pgadmin-ref.sgml
\
pgctl-ref.sgml
\
pgtclsh.sgml
\
pgtclsh.sgml
\
pgtksh.sgml
\
pgtksh.sgml
\
postgres-ref.sgml
\
postgres-ref.sgml
\
...
@@ -87,8 +88,9 @@ APPLICATIONS= createdb.sgml createuser.sgml \
...
@@ -87,8 +88,9 @@ APPLICATIONS= createdb.sgml createuser.sgml \
COMMANDS
=
abort.sgml alter_group.sgml alter_table.sgml alter_user.sgml
\
COMMANDS
=
abort.sgml alter_group.sgml alter_table.sgml alter_user.sgml
\
begin.sgml
\
begin.sgml
\
close.sgml cluster.sgml commit.sgml copy.sgml
\
close.sgml cluster.sgml comment.sgml commit.sgml copy.sgml
\
create_aggregate.sgml create_database.sgml create_function.sgml create_group.sgml
\
create_aggregate.sgml create_constraint.sgml create_database.sgml
\
create_function.sgml create_group.sgml
\
create_index.sgml
\
create_index.sgml
\
create_language.sgml create_operator.sgml create_rule.sgml create_sequence.sgml
\
create_language.sgml create_operator.sgml create_rule.sgml create_sequence.sgml
\
create_table.sgml create_table_as.sgml create_trigger.sgml create_type.sgml
\
create_table.sgml create_table_as.sgml create_trigger.sgml create_type.sgml
\
...
@@ -98,12 +100,12 @@ COMMANDS= abort.sgml alter_group.sgml alter_table.sgml alter_user.sgml \
...
@@ -98,12 +100,12 @@ COMMANDS= abort.sgml alter_group.sgml alter_table.sgml alter_user.sgml \
drop_index.sgml
\
drop_index.sgml
\
drop_language.sgml drop_operator.sgml drop_rule.sgml drop_sequence.sgml
\
drop_language.sgml drop_operator.sgml drop_rule.sgml drop_sequence.sgml
\
drop_table.sgml drop_trigger.sgml drop_type.sgml drop_user.sgml drop_view.sgml
\
drop_table.sgml drop_trigger.sgml drop_type.sgml drop_user.sgml drop_view.sgml
\
explain.sgml fetch.sgml grant.sgml
\
e
nd.sgml e
xplain.sgml fetch.sgml grant.sgml
\
insert.sgml listen.sgml load.sgml lock.sgml move.sgml
\
insert.sgml listen.sgml load.sgml lock.sgml move.sgml
\
notify.sgml
\
notify.sgml
\
reset.sgml revoke.sgml rollback.sgml
\
re
index.sgml re
set.sgml revoke.sgml rollback.sgml
\
select
.sgml select_into.sgml set.sgml show.sgml
\
select
.sgml select_into.sgml set.sgml show.sgml
\
unlisten.sgml update.sgml vacuum.sgml
truncate.sgml
unlisten.sgml update.sgml vacuum.sgml
FUNCTIONS
=
current_date.sgml current_time.sgml current_timestamp.sgml current_user.sgml
FUNCTIONS
=
current_date.sgml current_time.sgml current_timestamp.sgml current_user.sgml
...
...
doc/src/sgml/admin.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.2
1 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.2
2 2000/05/02 20:01:51
thomas Exp $
Postgres Administrator's Guide.
Postgres Administrator's Guide.
Derived from postgres.sgml.
Derived from postgres.sgml.
...
@@ -34,27 +34,27 @@ Derived from postgres.sgml.
...
@@ -34,27 +34,27 @@ Derived from postgres.sgml.
<!entity biblio SYSTEM "biblio.sgml">
<!entity biblio SYSTEM "biblio.sgml">
]>
]>
<
Book I
d="admin">
<
book i
d="admin">
<!-- Title information -->
<!-- Title information -->
<
Title>PostgreSQL Administrator's Guide</T
itle>
<
title>PostgreSQL Administrator's Guide</t
itle>
<
BookI
nfo>
<
booki
nfo>
<
ReleaseInfo>Covering v6.5 for general release</ReleaseI
nfo>
<
releaseinfo>Covering v7.0 for general release</releasei
nfo>
<
BookB
iblio>
<
bookb
iblio>
<
AuthorG
roup>
<
authorg
roup>
<
CorpAuthor>The PostgreSQL Development Team</CorpA
uthor>
<
corpauthor>The PostgreSQL Development Team</corpa
uthor>
</
AuthorG
roup>
</
authorg
roup>
<!-- editor in authorgroup is not supported
<!-- editor in authorgroup is not supported
<AuthorGroup>
<AuthorGroup>
-->
-->
<
E
ditor>
<
e
ditor>
<
FirstName>Thomas</FirstN
ame>
<
firstname>Thomas</firstn
ame>
<
SurName>Lockhart</SurN
ame>
<
surname>Lockhart</surn
ame>
<
A
ffiliation>
<
a
ffiliation>
<
OrgName>Caltech/JPL</OrgN
ame>
<
orgname>Caltech/JPL</orgn
ame>
</
A
ffiliation>
</
a
ffiliation>
</
E
ditor>
</
e
ditor>
<!--
<!--
</AuthorGroup>
</AuthorGroup>
-->
-->
...
@@ -63,17 +63,17 @@ Derived from postgres.sgml.
...
@@ -63,17 +63,17 @@ Derived from postgres.sgml.
<AuthorInitials>TGL</AuthorInitials>
<AuthorInitials>TGL</AuthorInitials>
-->
-->
<
Date>(last updated 1999-06-01)</D
ate>
<
date>(last updated 2000-05-01)</d
ate>
</
BookB
iblio>
</
bookb
iblio>
<
LegalN
otice>
<
legaln
otice>
<
P
ara>
<
p
ara>
<
ProductName>PostgreSQL</ProductName> is Copyright © 1996-9
<
productname>PostgreSQL</productname> is Copyright © 1996-2000
by
the Postgres Global Development Group
.
by
PostgreSQL Inc
.
</
P
ara>
</
p
ara>
</
LegalN
otice>
</
legaln
otice>
</
BookI
nfo>
</
booki
nfo>
<!--
<!--
<TOC> </TOC>
<TOC> </TOC>
...
@@ -88,20 +88,20 @@ Your name here...
...
@@ -88,20 +88,20 @@ Your name here...
</Dedication>
</Dedication>
-->
-->
<
P
reface id="preface">
<
p
reface id="preface">
<
Title>Summary</T
itle>
<
title>Summary</t
itle>
<
P
ara>
<
p
ara>
<
ProductName>Postgres</ProductN
ame>,
<
productname>Postgres</productn
ame>,
developed originally in the UC Berkeley Computer Science Department,
developed originally in the UC Berkeley Computer Science Department,
pioneered many of the object-relational concepts
pioneered many of the object-relational concepts
now becoming available in some commercial databases.
now becoming available in some commercial databases.
It provides SQL92/SQL3 language support,
It provides SQL92/SQL3 language support,
transaction integrity, and type extensibility.
transaction integrity, and type extensibility.
<
ProductName>PostgreSQL</ProductN
ame> is an open-source descendant
<
productname>PostgreSQL</productn
ame> is an open-source descendant
of this original Berkeley code.
of this original Berkeley code.
</
P
ara>
</
p
ara>
</
P
reface>
</
p
reface>
&intro-ag;
&intro-ag;
...
@@ -128,7 +128,7 @@ Don't bother with an index until we get some index entries.
...
@@ -128,7 +128,7 @@ Don't bother with an index until we get some index entries.
</index>
</index>
-->
-->
</
B
ook>
</
b
ook>
<!-- Keep this comment at the end of the file
<!-- Keep this comment at the end of the file
Local variables:
Local variables:
...
...
doc/src/sgml/advanced.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.1
1 2000/04/11 05:39:06
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.1
2 2000/05/02 20:01:51
thomas Exp $
-->
-->
<chapter id="advanced">
<chapter id="advanced">
...
@@ -103,12 +103,12 @@ SELECT c.name, c.altitude
...
@@ -103,12 +103,12 @@ SELECT c.name, c.altitude
+----------+----------+
+----------+----------+
</programlisting>
</programlisting>
Here the
<quote>*</quote>
after cities indicates that the query should
Here the
"*"
after cities indicates that the query should
be run over cities and all classes below cities in the
be run over cities and all classes below cities in the
inheritance hierarchy. Many of the commands that we
inheritance hierarchy. Many of the commands that we
have already discussed (<command>SELECT</command>,
have already discussed (<command>SELECT</command>,
<command>UPDATE</command> and <command>DELETE</command>)
<command>UPDATE</command> and <command>DELETE</command>)
support this
<quote>*</quote> notation, as do others,
like
support this
inheritance notation using "*" as do other commands
like
<command>ALTER</command>.
<command>ALTER</command>.
</para>
</para>
</sect1>
</sect1>
...
...
doc/src/sgml/biblio.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.1
2 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.1
3 2000/05/02 20:01:51
thomas Exp $
-->
-->
<bibliography id="biblio">
<bibliography id="biblio">
...
@@ -15,7 +15,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -15,7 +15,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<productname>Postgres</productname> development team
<productname>Postgres</productname> development team
are available at
are available at
<ulink url="http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/papers/">
<ulink url="http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/papers/">
http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/papers/</ulink>
the University of California, Berkeley, Computer Science
Department web site</ulink>
</para>
</para>
<bibliodiv>
<bibliodiv>
...
@@ -235,7 +236,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -235,7 +236,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<surname>Lockhart</surname>
<surname>Lockhart</surname>
</editor>
</editor>
<pubdate>
1998-10
-01</pubdate>
<pubdate>
2000-05
-01</pubdate>
<publisher>
<publisher>
<publishername>The PostgreSQL Global Development Group</publishername>
<publishername>The PostgreSQL Global Development Group</publishername>
</publisher>
</publisher>
...
@@ -261,7 +262,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -261,7 +262,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<surname>Lockhart</surname>
<surname>Lockhart</surname>
</editor>
</editor>
<pubdate>
1998-10
-01</pubdate>
<pubdate>
2000-05
-01</pubdate>
<publisher>
<publisher>
<publishername>The PostgreSQL Global Development Group</publishername>
<publishername>The PostgreSQL Global Development Group</publishername>
</publisher>
</publisher>
...
@@ -287,7 +288,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -287,7 +288,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<surname>Lockhart</surname>
<surname>Lockhart</surname>
</editor>
</editor>
<pubdate>
1998-10
-01</pubdate>
<pubdate>
2000-05
-01</pubdate>
<publisher>
<publisher>
<publishername>The PostgreSQL Global Development Group</publishername>
<publishername>The PostgreSQL Global Development Group</publishername>
</publisher>
</publisher>
...
@@ -313,7 +314,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -313,7 +314,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<surname>Lockhart</surname>
<surname>Lockhart</surname>
</editor>
</editor>
<pubdate>
1998-10
-01</pubdate>
<pubdate>
2000-05
-01</pubdate>
<publisher>
<publisher>
<publishername>The PostgreSQL Global Development Group</publishername>
<publishername>The PostgreSQL Global Development Group</publishername>
</publisher>
</publisher>
...
@@ -339,7 +340,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
...
@@ -339,7 +340,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/biblio.sgml,v 1.12 2000/03/31 03:27:40 thom
<surname>Lockhart</surname>
<surname>Lockhart</surname>
</editor>
</editor>
<pubdate>
1998-10
-01</pubdate>
<pubdate>
2000-05
-01</pubdate>
<publisher>
<publisher>
<publishername>The PostgreSQL Global Development Group</publishername>
<publishername>The PostgreSQL Global Development Group</publishername>
</publisher>
</publisher>
...
@@ -585,6 +586,7 @@ http://simon.cs.cornell.edu/home/praveen/papers/partindex.de95.ps.Z
...
@@ -585,6 +586,7 @@ http://simon.cs.cornell.edu/home/praveen/papers/partindex.de95.ps.Z
</ulink>
</ulink>
</title>
</title>
<titleabbrev id="SESHADRI95">
<titleabbrev id="SESHADRI95">
Seshardri, 1995
</titleabbrev>
</titleabbrev>
<authorgroup>
<authorgroup>
<author>
<author>
...
...
doc/src/sgml/bki.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.
2 1998/12/29 02:24:13
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.
3 2000/05/02 20:01:51
thomas Exp $
Transcribed from the original bki.man.5 documentation
Transcribed from the original bki.man.5 documentation
- Thomas Lockhart 1998-08-03
- Thomas Lockhart 1998-08-03
...
@@ -37,25 +37,28 @@ Related information may be found in documentation for
...
@@ -37,25 +37,28 @@ Related information may be found in documentation for
and the <acronym>SQL</acronym> command <command>CREATE DATABASE</command>.
and the <acronym>SQL</acronym> command <command>CREATE DATABASE</command>.
</para>
</para>
<sect1>
<sect1>
<title><acronym>BKI</acronym> File Format</title>
<title><acronym>BKI</acronym> File Format</title>
<para>
<para>
The <productname>Postgres</productname> backend interprets <acronym>BKI</acronym> files as described below. This
The <productname>Postgres</productname> backend interprets
description will be easier to understand if the <filename>global1.bki.source</filename> file is
<acronym>BKI</acronym> files as described below. This
at hand as an example. (As explained above, this .source file isn't quite
description will be easier to understand if the
a <acronym>BKI</acronym> file, but you'll be able to guess what the resulting <acronym>BKI</acronym> file would be
<filename>global1.bki.source</filename> file is
anyway).
at hand as an example. (As explained above, this .source file isn't quite
</para>
a <acronym>BKI</acronym> file, but you'll be able to guess what
the resulting <acronym>BKI</acronym> file would be
anyway).
</para>
<para>
<para>
Commands are composed of a command name followed by space separated
Commands are composed of a command name followed by space separated
arguments. Arguments to a command which begin with a
<quote>$</quote>
are
arguments. Arguments to a command which begin with a
"$"
are
treated specially. If
<quote>$$</quote>
are the first two characters, then
treated specially. If
"$$"
are the first two characters, then
the first
<quote>$</quote>
is ignored and the argument is then processed
the first
"$"
is ignored and the argument is then processed
normally. If the
<quote>$</quote>
is followed by space, then it is treated
normally. If the
"$"
is followed by space, then it is treated
as a NULL
as a NULL
value. Otherwise, the characters following the
<quote>$</quote>
are
value. Otherwise, the characters following the
"$"
are
interpreted as the name of a macro causing the argument to be replaced
interpreted as the name of a macro causing the argument to be replaced
with the macro's value. It is an error for this macro to be
with the macro's value. It is an error for this macro to be
undefined.
undefined.
...
@@ -137,7 +140,7 @@ etc., for its attribute values and
...
@@ -137,7 +140,7 @@ etc., for its attribute values and
<replaceable class="parameter">oid_value</replaceable>
<replaceable class="parameter">oid_value</replaceable>
for its OID. If
for its OID. If
<replaceable class="parameter">oid_value</replaceable>
<replaceable class="parameter">oid_value</replaceable>
is not
<quote>0</quote>
, then this value will be used as the instance's
is not
zero (0)
, then this value will be used as the instance's
object identifier. Otherwise, it is an error.
object identifier. Otherwise, it is an error.
</para>
</para>
</listitem>
</listitem>
...
@@ -398,7 +401,7 @@ to
...
@@ -398,7 +401,7 @@ to
<title>Example</title>
<title>Example</title>
<para>
<para>
The following set of commands will create the <
quote>pg_opclass</quote
>
The following set of commands will create the <
literal>pg_opclass</literal
>
class containing the
class containing the
<parameter>int_ops</parameter>
<parameter>int_ops</parameter>
collection as an object with an OID of
collection as an object with an OID of
...
@@ -414,3 +417,20 @@ close pg_opclass
...
@@ -414,3 +417,20 @@ close pg_opclass
</para>
</para>
</sect1>
</sect1>
</chapter>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
doc/src/sgml/config.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/cvs.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/cvs.sgml,v 1.
7 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/cvs.sgml,v 1.
8 2000/05/02 20:01:51
thomas Exp $
CVS code repository
CVS code repository
Thomas Lockhart
Thomas Lockhart
-->
-->
...
@@ -88,7 +88,7 @@ $ cvs checkout -r REL6_4 tc
...
@@ -88,7 +88,7 @@ $ cvs checkout -r REL6_4 tc
1.6
1.6
</programlisting>
</programlisting>
then the tag
<quote><literal>TAG</literal></quote>
will reference
then the tag
"<literal>TAG</literal>"
will reference
file1-1.2, file2-1.3, etc.
file1-1.2, file2-1.3, etc.
<note>
<note>
...
@@ -606,7 +606,7 @@ $ which cvsup
...
@@ -606,7 +606,7 @@ $ which cvsup
who are actively maintaining the code base originally developed by
who are actively maintaining the code base originally developed by
<ulink
<ulink
url="http://www.research.digital.com/SRC/modula-3/html/home.html">the DEC Systems Research Center</ulink>.
url="http://www.research.digital.com/SRC/modula-3/html/home.html">the DEC Systems Research Center</ulink>.
The <
quote>PM3</quot
e> <productname>RPM</productname> distribution is roughly
The <
productname>PM3</productnam
e> <productname>RPM</productname> distribution is roughly
30MB compressed. At the time of writing, the 1.1.10-1 release
30MB compressed. At the time of writing, the 1.1.10-1 release
installed cleanly on RH-5.2, whereas the 1.1.11-1 release is
installed cleanly on RH-5.2, whereas the 1.1.11-1 release is
apparently built for another release (RH-6.0?) and does not run on RH-5.2.
apparently built for another release (RH-6.0?) and does not run on RH-5.2.
...
...
doc/src/sgml/datatype.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/datetime.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/datetime.sgml,v 2.
8 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/datetime.sgml,v 2.
9 2000/05/02 20:01:51
thomas Exp $
Date/time details
Date/time details
-->
-->
...
@@ -645,7 +645,7 @@ Date/time details
...
@@ -645,7 +645,7 @@ Date/time details
</para>
</para>
<para>
<para>
<quote>Julian Day</quote> is different from <quote>Julian Date</quote>
.
"Julian Day" is different from "Julian Date"
.
The Julian calendar was introduced by Julius Caesar in 45 BC. It was
The Julian calendar was introduced by Julius Caesar in 45 BC. It was
in common use until the 1582, when countries started changing to the
in common use until the 1582, when countries started changing to the
...
...
doc/src/sgml/dfunc.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.
9 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.
10 2000/05/02 20:01:51
thomas Exp $
-->
-->
<chapter id="dfunc">
<chapter id="dfunc">
...
@@ -7,105 +7,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.9 2000/03/31 03:27:40 thomas
...
@@ -7,105 +7,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.9 2000/03/31 03:27:40 thomas
<para>
<para>
<!--
.SH "Compiling Dynamically-Loaded C Functions"
.PP
Different operating systems require different procedures for compiling
C source files so that Postgres can load them dynamically. This section
discusses the required compiler and loader options on each system.
.PP
Under Linux ELF, object files can be generated by specifing the compiler
flag -fpic.
.PP
Under Ultrix, all object files that Postgres is expected to load
dynamically must be compiled using
.IR /bin/cc
with the \*(lq-G 0\*(rq option turned on. The object file name in the
.IR as
clause should end in \*(lq.o\*(rq.
.PP
Under HP-UX, DEC OSF/1, AIX and SunOS 4, all object files must be
turned into
.IR "shared libraries"
using the operating system's native object file loader,
.IR ld(1).
.PP
Under HP-UX, an object file must be compiled using the native HP-UX C
compiler,
.IR /bin/cc ,
with both the \*(lq+z\*(rq and \*(lq+u\*(rq flags turned on. The
first flag turns the object file into \*(lqposition-independent
code\*(rq (PIC); the second flag removes some alignment restrictions
that the PA-RISC architecture normally enforces. The object file must
then be turned into a shared library using the HP-UX loader,
.IR /bin/ld .
The command lines to compile a C source file, \*(lqfoo.c\*(rq, look
like:
.nf
cc <other flags> +z +u -c foo.c
ld <other flags> -b -o foo.sl foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.sl\*(rq.
.PP
An extra step is required under versions of HP-UX prior to 9.00. If
the Postgres header file
.nf
include/c.h
.fi
is not included in the source file, then the following line must also
be added at the top of every source file:
.nf
#pragma HP_ALIGN HPUX_NATURAL_S500
.fi
However, this line must not appear in programs compiled under HP-UX
9.00 or later.
.PP
Under DEC OSF/1, an object file must be compiled and then turned
into a shared library using the OSF/1 loader,
.IR /bin/ld .
In this case, the command lines look like:
.nf
cc <other flags> -c foo.c
ld <other flags> -shared -expect_unresolved '*' -o foo.so foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.so\*(rq.
.PP
Under SunOS 4, an object file must be compiled and then turned into a
shared library using the SunOS 4 loader,
.IR /bin/ld .
The command lines look like:
.nf
cc <other flags> -PIC -c foo.c
ld <other flags> -dc -dp -Bdynamic -o foo.so foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.so\*(rq.
.PP
Under AIX, object files are compiled normally but building the shared
library requires a couple of steps. First, create the object file:
.nf
cc <other flags> -c foo.c
.fi
You must then create a symbol \*(lqexports\*(rq file for the object
file:
.nf
mkldexport foo.o `pwd` > foo.exp
.fi
Finally, you can create the shared library:
.nf
ld <other flags> -H512 -T512 -o foo.so -e _nostart \e
-bI:.../lib/postgres.exp -bE:foo.exp foo.o \e
-lm -lc 2>/dev/null
.fi
You should look at the Postgres User's Manual for an explanation of this
procedure.
-->
After you have created and registered a user-defined
After you have created and registered a user-defined
function, your work is essentially done.
function, your work is essentially done.
<productname>Postgres</productname>,
<productname>Postgres</productname>,
...
@@ -120,8 +21,6 @@ procedure.
...
@@ -120,8 +21,6 @@ procedure.
describes how to perform the compilation and
describes how to perform the compilation and
link-editing required before you can load your user-defined
link-editing required before you can load your user-defined
functions into a running <productname>Postgres</productname> server.
functions into a running <productname>Postgres</productname> server.
Note that
this process has changed as of Version 4.2.
</para>
</para>
<!--
<!--
...
@@ -155,10 +54,11 @@ procedure.
...
@@ -155,10 +54,11 @@ procedure.
You should expect to read (and reread, and re-reread) the
You should expect to read (and reread, and re-reread) the
manual pages for the C compiler, cc(1), and the link
manual pages for the C compiler, cc(1), and the link
editor, ld(1), if you have specific questions. In
editor, ld(1), if you have specific questions. In
addition, the regression test suites in the directory
addition, the contrib area (<filename>PGROOT/contrib</filename>)
<filename>PGROOT/src/regress</filename> contain several
and the regression test suites in the directory
working examples of this process. If you copy what these
<filename>PGROOT/src/test/regress</filename> contain several
tests do, you should not have any problems.
working examples of this process. If you copy an example then
you should not have any problems.
</para>
</para>
<para>
<para>
...
@@ -248,6 +148,29 @@ procedure.
...
@@ -248,6 +148,29 @@ procedure.
</itemizedlist>
</itemizedlist>
</para>
</para>
<sect1>
<title>Linux</title>
<para>
Under Linux ELF, object files can be generated by specifying the compiler
flag -fpic.
</para>
<para>
For example,
<programlisting>
# simple Linux example
% cc -fpic -c <replaceable>foo.c</replaceable>
</programlisting>
produces an object file called <replaceable>foo.o</replaceable>
that can then be
dynamically loaded into <productname>Postgres</productname>.
No additional loading or link-editing must be performed.
</para>
</sect1>
<!--
<sect1>
<sect1>
<title><acronym>ULTRIX</acronym></title>
<title><acronym>ULTRIX</acronym></title>
...
@@ -271,6 +194,7 @@ procedure.
...
@@ -271,6 +194,7 @@ procedure.
No additional loading or link-editing must be performed.
No additional loading or link-editing must be performed.
</para>
</para>
</sect1>
</sect1>
-->
<sect1>
<sect1>
<title><acronym>DEC OSF/1</acronym></title>
<title><acronym>DEC OSF/1</acronym></title>
...
@@ -327,14 +251,15 @@ procedure.
...
@@ -327,14 +251,15 @@ procedure.
file with special compiler flags and a shared library
file with special compiler flags and a shared library
must be produced.
must be produced.
The necessary steps with HP-UX are as follows. The +z
The necessary steps with HP-UX are as follows. The +z
flag to the HP-UX C compiler produces
so-called
flag to the HP-UX C compiler produces
"Position Independent Code" (PIC) and the +u flag
<firstterm>Position Independent Code</firstterm> (PIC)
removes
and the +u flag
removes
some alignment restrictions that the PA-RISC architecture
some alignment restrictions that the PA-RISC architecture
normally enforces. The object file must be turned
normally enforces. The object file must be turned
into a shared library using the HP-UX link editor with
into a shared library using the HP-UX link editor with
the -b option. This sounds complicated but is actually
the -b option. This sounds complicated but is actually
very simple, since the commands to do it are just:
very simple, since the commands to do it are just:
<programlisting>
<programlisting>
# simple HP-UX example
# simple HP-UX example
% cc +z +u -c foo.c
% cc +z +u -c foo.c
...
@@ -375,6 +300,95 @@ procedure.
...
@@ -375,6 +300,95 @@ procedure.
command line.
command line.
</para>
</para>
</sect1>
</sect1>
<!--
Future integration: Create separate sections for these operating
systems and integrate the info from this old man page.
- thomas 2000-04-21
Under HP-UX, DEC OSF/1, AIX and SunOS 4, all object files must be
turned into
.IR "shared libraries"
using the operating system's native object file loader,
.IR ld(1).
.PP
Under HP-UX, an object file must be compiled using the native HP-UX C
compiler,
.IR /bin/cc ,
with both the \*(lq+z\*(rq and \*(lq+u\*(rq flags turned on. The
first flag turns the object file into \*(lqposition-independent
code\*(rq (PIC); the second flag removes some alignment restrictions
that the PA-RISC architecture normally enforces. The object file must
then be turned into a shared library using the HP-UX loader,
.IR /bin/ld .
The command lines to compile a C source file, \*(lqfoo.c\*(rq, look
like:
.nf
cc <other flags> +z +u -c foo.c
ld <other flags> -b -o foo.sl foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.sl\*(rq.
.PP
An extra step is required under versions of HP-UX prior to 9.00. If
the Postgres header file
.nf
include/c.h
.fi
is not included in the source file, then the following line must also
be added at the top of every source file:
.nf
#pragma HP_ALIGN HPUX_NATURAL_S500
.fi
However, this line must not appear in programs compiled under HP-UX
9.00 or later.
.PP
Under DEC OSF/1, an object file must be compiled and then turned
into a shared library using the OSF/1 loader,
.IR /bin/ld .
In this case, the command lines look like:
.nf
cc <other flags> -c foo.c
ld <other flags> -shared -expect_unresolved '*' -o foo.so foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.so\*(rq.
.PP
Under SunOS 4, an object file must be compiled and then turned into a
shared library using the SunOS 4 loader,
.IR /bin/ld .
The command lines look like:
.nf
cc <other flags> -PIC -c foo.c
ld <other flags> -dc -dp -Bdynamic -o foo.so foo.o
.fi
The object file name in the
.BR as
clause should end in \*(lq.so\*(rq.
.PP
Under AIX, object files are compiled normally but building the shared
library requires a couple of steps. First, create the object file:
.nf
cc <other flags> -c foo.c
.fi
You must then create a symbol \*(lqexports\*(rq file for the object
file:
.nf
mkldexport foo.o `pwd` > foo.exp
.fi
Finally, you can create the shared library:
.nf
ld <other flags> -H512 -T512 -o foo.so -e _nostart \e
-bI:.../lib/postgres.exp -bE:foo.exp foo.o \e
-lm -lc 2>/dev/null
.fi
You should look at the Postgres User's Manual for an explanation of this
procedure.
-->
</chapter>
</chapter>
<!-- Keep this comment at the end of the file
<!-- Keep this comment at the end of the file
...
...
doc/src/sgml/docguide.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.2
5 2000/02/02 16:22:45
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.2
6 2000/05/02 20:01:51
thomas Exp $
Documentation Guide
Documentation Guide
Thomas Lockhart
Thomas Lockhart
Revision 1.15 1999/05/27 15:49:07 thomas
Markup fixes.
Update for v6.5 release.
Revision 1.12 1998/12/18 16:17:29 thomas
Include more details on editing with Emacs.
Remove mention of the old "migration" flat files.
Change URLs for resources to point to areas, not particular files.
That way things stay correct even when version of tools change.
Suggested by Vince Vielhaber.
Revision 1.11 1998/10/30 19:36:57 thomas
Minor editing and markup changes as a result of preparing the Postscript
documentation for v6.4.
Bigger updates to the installation instructions (install and config).
Revision 1.8 1998/08/17 16:17:07 thomas
Bring document list closer to up to day.
Add a note on sgml-tools that they are now working with jade and so
may become the toolset of choice in the future.
-->
-->
<appendix label="DG2" id="docguide">
<appendix label="DG2" id="docguide">
...
@@ -45,7 +23,7 @@ Add a note on sgml-tools that they are now working with jade and so
...
@@ -45,7 +23,7 @@ Add a note on sgml-tools that they are now working with jade and so
<para>
<para>
The purpose of documentation is to make <productname>Postgres</productname>
The purpose of documentation is to make <productname>Postgres</productname>
easier to learn, use, and
develop
.
easier to learn, use, and
extend.
.
The documentation set should describe the <productname>Postgres</productname>
The documentation set should describe the <productname>Postgres</productname>
system, language, and interfaces.
system, language, and interfaces.
It should be able to answer
It should be able to answer
...
@@ -61,18 +39,26 @@ Add a note on sgml-tools that they are now working with jade and so
...
@@ -61,18 +39,26 @@ Add a note on sgml-tools that they are now working with jade and so
formats:
formats:
<itemizedlist>
<itemizedlist>
<listitem><para>
<listitem>
<para>
Plain text for pre-installation information.
Plain text for pre-installation information.
</para></listitem>
</para>
<listitem><para>
</listitem>
<listitem>
<para>
<acronym>HTML</acronym>, for on-line browsing and reference.
<acronym>HTML</acronym>, for on-line browsing and reference.
</para></listitem>
</para>
<listitem><para>
</listitem>
Hardcopy, for in-depth reading and reference.
<listitem>
</para></listitem>
<para>
<listitem><para>
Hardcopy (Postscript or PDF), for in-depth reading and reference.
</para>
</listitem>
<listitem>
<para>
<acronym>man pages</acronym>, for quick reference.
<acronym>man pages</acronym>, for quick reference.
</para></listitem>
</para>
</listitem>
</itemizedlist>
</itemizedlist>
</para>
</para>
...
@@ -983,7 +969,7 @@ $ make man
...
@@ -983,7 +969,7 @@ $ make man
</sect1>
</sect1>
<sect1>
<sect1>
<title>Hardcopy Generation for v
6.5
</title>
<title>Hardcopy Generation for v
7.0
</title>
<para>
<para>
The hardcopy Postscript documentation is generated by converting the
The hardcopy Postscript documentation is generated by converting the
...
@@ -1084,14 +1070,14 @@ $ make man
...
@@ -1084,14 +1070,14 @@ $ make man
<step performance="required">
<step performance="required">
<para>
<para>
Export the result as
<quote>ASCII Layout</quote>
.
Export the result as
"ASCII Layout"
.
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Using emacs or vi, clean up the tabular information in
Using emacs or vi, clean up the tabular information in
<filename>INSTALL</filename>. Remove the
<quote>mailto</quote>
<filename>INSTALL</filename>. Remove the
"mailto"
<acronym>URLs</acronym> for the porting contributors to shrink
<acronym>URLs</acronym> for the porting contributors to shrink
the column heights.
the column heights.
</para>
</para>
...
@@ -1104,19 +1090,21 @@ $ make man
...
@@ -1104,19 +1090,21 @@ $ make man
<para>
<para>
Several areas are addressed while generating Postscript
Several areas are addressed while generating Postscript
hardcopy.
hardcopy, including RTF repair, ToC generation, and page break
adjustments.
</para>
</para>
<procedure>
<procedure>
<title>Applixware <acronym>RTF</acronym> Cleanup</title>
<title>Applixware <acronym>RTF</acronym> Cleanup</title>
<para>
<para>
Applixware does not seem to do a complete job of importing <acronym>RTF</acronym>
<application>jade</application>, an integral part of the
generated by jade/MSS. In particular, all text is given the
hardcopy procedure, omits specifying a default style for body
<quote>Header1</quote> style attribute label, although the text
text. In the past, this undiagnosed problem led to a long process
formatting itself is acceptable. Also, the Table of Contents page
of Table of Contents (ToC) generation. However, with great help
numbers do not refer to the section listed in the table, but rather
from the ApplixWare folks the symptom was diagnosed and a
refer to the page of the ToC itself.</para>
workaround is available.
</para>
<step performance="required">
<step performance="required">
<para>
<para>
...
@@ -1128,61 +1116,187 @@ $ make man
...
@@ -1128,61 +1116,187 @@ $ make man
</para>
</para>
</step>
</step>
<step performance="required">
<para>
Open a new document in <productname>Applix Words</productname> and
then import the <acronym>RTF</acronym> file.
</para>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Print out the existing Table of Contents, to mark up in the following
Repair the RTF file to correctly specify all
few steps.
styles, in particular the default style. The field can be added
using <application>vi</application> or the following small
<application>sed</application> procedure:
<programlisting>
#!/bin/sh
# fixrtf.sh
# Utility to repair slight damage in RTF files generated by jade
# Thomas Lockhart <lockhart@alumni.caltech.edu>
#
for i in $* ; do
mv $i $i.orig
cat $i.orig | sed 's#\\stylesheet#\\stylesheet{\\s0 Normal;}#' > $i
done
exit
</programlisting>
where the script is adding <literal>{\s0 Normal;}</literal> as
the zero-th style in the document. According to ApplixWare, the
RTF standard would prohibit adding an implicit zero-th style,
though M$Word happens to handle this case.
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Insert figures into the document. Center each figure on the page using
Open a new document in <productname>Applix Words</productname> and
the centering margins button.</para>
then import the <acronym>RTF</acronym> file.
<para>
Not all documents have figures.
You can grep the <acronym>SGML</acronym> source files for
the string <quote>graphic</quote> to identify those parts of the
documentation which may have figures. A few figures are replicated in
various parts of the documentation.
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Work through the document, adjusting page breaks and table column
Generate a new ToC using ApplixWare.
widths.
</para>
</para>
<substeps>
<step>
<para>
Select the existing ToC lines, from the beginning of the first
character on the first line to the last character of the last
line.
</para>
</step>
<step>
<para>
Build a new ToC using
<literal>Tools.BookBuilding.CreateToC</literal>. Select the
first three levels of headers for inclusion in the ToC.
This will
replace the existing lines imported in the RTF with a native
ApplixWare ToC.
</para>
</step>
<step>
<para>
Adjust the ToC formatting by using
<literal>Format.Style</literal>, selecting each of the three
ToC styles, and adjusting the indents for <literal>First</literal> and
<literal>Left</literal>. Use the following values:
<table>
<title>Indent Formatting for Table of Contents</title>
<tgroup cols="3">
<thead>
<row>
<entry>
Style
</entry>
<entry>
First Indent (inches)
</entry>
<entry>
Left Indent (inches)
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<literal>TOC-Heading 1</literal>
</entry>
<entry>
<literal>0.6</literal>
</entry>
<entry>
<literal>0.6</literal>
</entry>
</row>
<row>
<entry>
<literal>TOC-Heading 2</literal>
</entry>
<entry>
<literal>1.0</literal>
</entry>
<entry>
<literal>1.0</literal>
</entry>
</row>
<row>
<entry>
<literal>TOC-Heading 3</literal>
</entry>
<entry>
<literal>1.4</literal>
</entry>
<entry>
<literal>1.4</literal>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</step>
</substeps>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
If a bibliography is present, Applix Words seems to mark all remaining
Work through the document to:
text after the first title as having an underlined attribute. Select
all remaining text, turn off underlining using the underlining button,
<itemizedlist>
then explicitly underline each document and book title.
<listitem>
<para>
Adjust page breaks.
</para>
</listitem>
<listitem>
<para>
Adjust table column widths.
</para>
</listitem>
<listitem>
<para>
Insert figures into the document. Center each figure on the page using
the centering margins button on the ApplixWare toolbar.
<note>
<para>
Not all documents have figures.
You can grep the <acronym>SGML</acronym> source files for
the string "<literal>graphic</literal>" to identify those parts of the
documentation which may have figures. A few figures are replicated in
various parts of the documentation.
</para>
</note>
</para>
</listitem>
</itemizedlist>
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Work through the document, marking up the ToC hardcopy with the actual
Replace the right-justified page numbers in the Examples and
page number of each ToC entry.
Figures portions of the ToC with
correct values. This only takes a few minutes per document.
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Replace the right-justified incorrect page numbers in the ToC with
If a bibliography is present, remove the <firstterm>short
correct values. This only takes a few minutes per document.
form</firstterm> reference title from each entry. The
<productname>DocBook</productname> stylesheets from Norm Walsh
seem to print these out, even though this is a subset of the
information immediately following.
</para>
</para>
</step>
</step>
...
@@ -1195,7 +1309,7 @@ $ make man
...
@@ -1195,7 +1309,7 @@ $ make man
<step performance="required">
<step performance="required">
<para>
<para>
<quote>Print</quote>
the document
"Print"
the document
to a file in Postscript format.
to a file in Postscript format.
</para>
</para>
</step>
</step>
...
...
doc/src/sgml/ecpg.sgml
浏览文件 @
45f79cae
<
!--
<
!--
$
Header
:
/
cvsroot
/
pgsql
/
doc
/
src
/
sgml
/
ecpg
.
sgml
,
v
1.1
3
2000
/
03
/
31
03
:
27
:
40
thomas
Exp
$
$
Header
:
/
cvsroot
/
pgsql
/
doc
/
src
/
sgml
/
ecpg
.
sgml
,
v
1.1
4
2000
/
05
/
02
20
:
01
:
51
thomas
Exp
$
-->
-->
<
chapter
>
<
chapter
>
...
@@ -32,16 +32,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.13 2000/03/31 03:27:40 thomas
...
@@ -32,16 +32,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.13 2000/03/31 03:27:40 thomas
This
describes
an
embedded
<
acronym
>
SQL
</
acronym
>
in
<
acronym
>
C
</
acronym
>
This
describes
an
embedded
<
acronym
>
SQL
</
acronym
>
in
<
acronym
>
C
</
acronym
>
package
for
<
productname
>
Postgres
</
productname
>.
package
for
<
productname
>
Postgres
</
productname
>.
It
is
written
by
<
ulink
url
=
""
>
Linus
Tolke
</
ulink
>
It
is
written
by
<
ulink
url
=
"
linus@epact.se
"
>
Linus
Tolke
</
ulink
>
and
<
ulink
url
=
""
>
Michael
Meskes
</
ulink
>.
and
<
ulink
url
=
"
meskes@debian.org
"
>
Michael
Meskes
</
ulink
>.
<
note
>
<
note
>
<
para
>
<
para
>
Permission
is
granted
to
copy
and
use
in
the
same
way
as
you
are
allowed
Permission
is
granted
to
copy
and
use
in
the
same
way
as
you
are
allowed
to
copy
and
use
the
rest
of
the
<
productname
>
PostgreSQL
</
productname
>.
to
copy
and
use
the
rest
of
<
productname
>
PostgreSQL
</
productname
>.
</
para
>
</
para
>
</
note
>
</
note
>
</
para
>
</
para
>
<
sect1
>
<
sect1
>
<
title
>
Why
Embedded
<
acronym
>
SQL
</
acronym
>?</
title
>
<
title
>
Why
Embedded
<
acronym
>
SQL
</
acronym
>?</
title
>
...
@@ -472,8 +473,9 @@ struct sqlca
...
@@ -472,8 +473,9 @@ struct sqlca
<para>
<para>
The following list shows all the known incompatibilities. If you find one
The following list shows all the known incompatibilities. If you find one
not listed please notify <ulink url="">Michael
not listed please notify
Meskes</ulink>. Note, however, that we list only incompatibilities from
<ulink url="meskes@debian.org">Michael Meskes</ulink>.
Note, however, that we list only incompatibilities from
a precompiler of another RDBMS to <application>ecpg</application> and not
a precompiler of another RDBMS to <application>ecpg</application> and not
additional <application>ecpg</application> features that these RDBMS do not
additional <application>ecpg</application> features that these RDBMS do not
have.
have.
...
@@ -977,7 +979,7 @@ ECPGdo(__LINE__, NULL, "select res from mytable where index = ? ",
...
@@ -977,7 +979,7 @@ ECPGdo(__LINE__, NULL, "select res from mytable where index = ? ",
This
request
is
modified
This
request
is
modified
by
the
input
variables
,
i
.
e
.
the
variables
that
where
not
known
at
by
the
input
variables
,
i
.
e
.
the
variables
that
where
not
known
at
compile
time
but
are
to
be
entered
in
the
request
.
Where
the
variables
compile
time
but
are
to
be
entered
in
the
request
.
Where
the
variables
should
go
the
string
contains
<
quote
>;</
quote
>
.
should
go
the
string
contains
";"
.
</
para
>
</
para
>
</
listitem
>
</
listitem
>
</
varlistentry
>
</
varlistentry
>
...
...
doc/src/sgml/environ.sgml
浏览文件 @
45f79cae
...
@@ -38,8 +38,8 @@ $ export PATH
...
@@ -38,8 +38,8 @@ $ export PATH
to the <FileName>.profile</FileName> file in your home directory.
to the <FileName>.profile</FileName> file in your home directory.
From now on, we will assume that you have added the
From now on, we will assume that you have added the
<ProductName>Postgres</ProductName> bin directory to your path. In addition, we
<ProductName>Postgres</ProductName> bin directory to your path. In addition, we
will make frequent reference to
<Quote>
setting a shell
will make frequent reference to
"
setting a shell
variable
</Quote> or <Quote>setting an environment variable</Quote>
throughout
variable
" or "setting an environment variable"
throughout
this document. If you did not fully understand the
this document. If you did not fully understand the
last paragraph on modifying your search path, you
last paragraph on modifying your search path, you
should consult the Unix manual pages that describe your
should consult the Unix manual pages that describe your
...
...
doc/src/sgml/func.sgml
浏览文件 @
45f79cae
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
<title id="sql-funcs">SQL Functions</title>
<title id="sql-funcs">SQL Functions</title>
<para>
<para>
<
quote><acronym>SQL</acronym> functions</quote
> are constructs
<
firstterm><acronym>SQL</acronym> functions</firstterm
> are constructs
defined by the <acronym>SQL92</acronym> standard which have
defined by the <acronym>SQL92</acronym> standard which have
function-like syntax but which can not be implemented as simple
function-like syntax but which can not be implemented as simple
functions.
functions.
...
@@ -476,24 +476,6 @@
...
@@ -476,24 +476,6 @@
<entry>preserve months and years</entry>
<entry>preserve months and years</entry>
<entry>age('now', timestamp '1957-06-13')</entry>
<entry>age('now', timestamp '1957-06-13')</entry>
</row>
</row>
<row>
<entry>timestamp(abstime)</entry>
<entry>timestamp</entry>
<entry>convert to timestamp</entry>
<entry>timestamp(abstime 'now')</entry>
</row>
<row>
<entry>timestamp(date)</entry>
<entry>timestamp</entry>
<entry>convert to timestamp</entry>
<entry>timestamp(date 'today')</entry>
</row>
<row>
<entry>timestamp(date,time)</entry>
<entry>timestamp</entry>
<entry>convert to timestamp</entry>
<entry>timestamp(timestamp '1998-02-24',time '23:07');</entry>
</row>
<row>
<row>
<entry>date_part(text,timestamp)</entry>
<entry>date_part(text,timestamp)</entry>
<entry>float8</entry>
<entry>float8</entry>
...
@@ -513,10 +495,10 @@
...
@@ -513,10 +495,10 @@
<entry>date_trunc('month',abstime 'now')</entry>
<entry>date_trunc('month',abstime 'now')</entry>
</row>
</row>
<row>
<row>
<entry>i
sfinite(abs
time)</entry>
<entry>i
nterval(rel
time)</entry>
<entry>
boo
l</entry>
<entry>
interva
l</entry>
<entry>
a finite time?
</entry>
<entry>
convert to interval
</entry>
<entry>i
sfinite(abstime 'now
')</entry>
<entry>i
nterval(reltime '4 hours
')</entry>
</row>
</row>
<row>
<row>
<entry>isfinite(timestamp)</entry>
<entry>isfinite(timestamp)</entry>
...
@@ -537,10 +519,22 @@
...
@@ -537,10 +519,22 @@
<entry>reltime(interval '4 hrs')</entry>
<entry>reltime(interval '4 hrs')</entry>
</row>
</row>
<row>
<row>
<entry>interval(reltime)</entry>
<entry>timestamp(date)</entry>
<entry>interval</entry>
<entry>timestamp</entry>
<entry>convert to interval</entry>
<entry>convert to timestamp</entry>
<entry>interval(reltime '4 hours')</entry>
<entry>timestamp(date 'today')</entry>
</row>
<row>
<entry>timestamp(date,time)</entry>
<entry>timestamp</entry>
<entry>convert to timestamp</entry>
<entry>timestamp(timestamp '1998-02-24',time '23:07');</entry>
</row>
<row>
<entry>to_char(timestamp,text)</entry>
<entry>text</entry>
<entry>convert to string</entry>
<entry>to_char(timestamp '1998-02-24','DD');</entry>
</row>
</row>
</tbody>
</tbody>
</tgroup>
</tgroup>
...
@@ -673,6 +667,10 @@
...
@@ -673,6 +667,10 @@
<entry>HH12</entry>
<entry>HH12</entry>
<entry>hour of day (01-12)</entry>
<entry>hour of day (01-12)</entry>
</row>
</row>
<row>
<entry>HH24</entry>
<entry>hour of day (00-23)</entry>
</row>
<row>
<row>
<entry>MI</entry>
<entry>MI</entry>
<entry>minute (00-59)</entry>
<entry>minute (00-59)</entry>
...
@@ -810,7 +808,7 @@
...
@@ -810,7 +808,7 @@
<entry>month in Roman Numerals (I-XII; I=JAN) - upper case</entry>
<entry>month in Roman Numerals (I-XII; I=JAN) - upper case</entry>
</row>
</row>
<row>
<row>
<entry>r
n
</entry>
<entry>r
m
</entry>
<entry>month in Roman Numerals (I-XII; I=JAN) - lower case</entry>
<entry>month in Roman Numerals (I-XII; I=JAN) - lower case</entry>
</row>
</row>
</tbody>
</tbody>
...
@@ -874,29 +872,34 @@
...
@@ -874,29 +872,34 @@
<para>
<para>
<function>to_timestamp</function> and <function>to_date</function>
<function>to_timestamp</function> and <function>to_date</function>
skip blank space if the <literal>FX</literal> option is
skip blank space if the <literal>FX</literal> option is
not use
. <literal>FX</literal> M
ust be specified as the first item
not use
d. <literal>FX</literal> m
ust be specified as the first item
in the template.
in the template.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
'\' - must be use as double \\, example '\\HH\\MI\\SS'
Backslash ("<literal>\</literal>") must be specified with a double backslash
("<literal>\\</literal>"); for example <literal>'\\HH\\MI\\SS'</literal>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
'"' - string between a quotation marks is skipen and not is parsed.
A double quote ('"') between quotation marks is skipped and is not parsed.
If you want write '"' to output you must use \\", example '\\"YYYY Month\\"'.
If you want to write a double quote to output you must preceed
it with a double backslash (<literal>'\\"</literal>), for
example <literal>'\\"YYYY Month\\"'</literal>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
text - the PostgreSQL's to_char() support text without '"', but string
<function>to_char</function> supports text without a leading
between a quotation marks is fastly and you have guarantee, that a text
double quote ('"'), but any string
not will interpreted as a keyword (format-picture), exapmle '"Hello Year: "YYYY'.
between a quotation marks is rapidly handled and you are
guaranteed that it will not be interpreted as a template
keyword (example: <literal>'"Hello Year: "YYYY'</literal>).
</para>
</para>
</listitem>
</listitem>
</itemizedlist>
</itemizedlist>
...
@@ -1213,19 +1216,19 @@
...
@@ -1213,19 +1216,19 @@
<row>
<row>
<entry>area(object)</entry>
<entry>area(object)</entry>
<entry>float8</entry>
<entry>float8</entry>
<entry>area of
circle, ...
</entry>
<entry>area of
item
</entry>
<entry>area(box '((0,0),(1,1))')</entry>
<entry>area(box '((0,0),(1,1))')</entry>
</row>
</row>
<row>
<row>
<entry>box(box,box)</entry>
<entry>box(box,box)</entry>
<entry>box</entry>
<entry>box</entry>
<entry>
boxes to
intersection box</entry>
<entry>intersection box</entry>
<entry>box(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))')</entry>
<entry>box(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))')</entry>
</row>
</row>
<row>
<row>
<entry>center(object)</entry>
<entry>center(object)</entry>
<entry>point</entry>
<entry>point</entry>
<entry>center of
circle, ...
</entry>
<entry>center of
item
</entry>
<entry>center(box '((0,0),(1,2))')</entry>
<entry>center(box '((0,0),(1,2))')</entry>
</row>
</row>
<row>
<row>
...
@@ -1255,15 +1258,9 @@
...
@@ -1255,15 +1258,9 @@
<row>
<row>
<entry>length(object)</entry>
<entry>length(object)</entry>
<entry>float8</entry>
<entry>float8</entry>
<entry>length of
line segment, ...
</entry>
<entry>length of
item
</entry>
<entry>length(path '((-1,0),(1,0))')</entry>
<entry>length(path '((-1,0),(1,0))')</entry>
</row>
</row>
<row>
<entry>length(path)</entry>
<entry>float8</entry>
<entry>length of path</entry>
<entry>length(path '((0,0),(1,1),(2,0))')</entry>
</row>
<row>
<row>
<entry>pclose(path)</entry>
<entry>pclose(path)</entry>
<entry>path</entry>
<entry>path</entry>
...
@@ -1324,91 +1321,91 @@ Not defined by this name. Implements the intersection operator '#'
...
@@ -1324,91 +1321,91 @@ Not defined by this name. Implements the intersection operator '#'
<row>
<row>
<entry>box(circle)</entry>
<entry>box(circle)</entry>
<entry>box</entry>
<entry>box</entry>
<entry>c
onvert c
ircle to box</entry>
<entry>circle to box</entry>
<entry>box('((0,0),2.0)'::circle)</entry>
<entry>box('((0,0),2.0)'::circle)</entry>
</row>
</row>
<row>
<row>
<entry>box(point,point)</entry>
<entry>box(point,point)</entry>
<entry>box</entry>
<entry>box</entry>
<entry>
convert
points to box</entry>
<entry>points to box</entry>
<entry>box('(0,0)'::point,'(1,1)'::point)</entry>
<entry>box('(0,0)'::point,'(1,1)'::point)</entry>
</row>
</row>
<row>
<row>
<entry>box(polygon)</entry>
<entry>box(polygon)</entry>
<entry>box</entry>
<entry>box</entry>
<entry>
convert
polygon to box</entry>
<entry>polygon to box</entry>
<entry>box('((0,0),(1,1),(2,0))'::polygon)</entry>
<entry>box('((0,0),(1,1),(2,0))'::polygon)</entry>
</row>
</row>
<row>
<row>
<entry>circle(box)</entry>
<entry>circle(box)</entry>
<entry>circle</entry>
<entry>circle</entry>
<entry>
convert
to circle</entry>
<entry>to circle</entry>
<entry>circle('((0,0),(1,1))'::box)</entry>
<entry>circle('((0,0),(1,1))'::box)</entry>
</row>
</row>
<row>
<row>
<entry>circle(point,float8)</entry>
<entry>circle(point,float8)</entry>
<entry>circle</entry>
<entry>circle</entry>
<entry>
conver
t to circle</entry>
<entry>
poin
t to circle</entry>
<entry>circle('(0,0)'::point,2.0)</entry>
<entry>circle('(0,0)'::point,2.0)</entry>
</row>
</row>
<row>
<row>
<entry>lseg(box)</entry>
<entry>lseg(box)</entry>
<entry>lseg</entry>
<entry>lseg</entry>
<entry>
convert
diagonal to lseg</entry>
<entry>
box
diagonal to lseg</entry>
<entry>lseg('((-1,0),(1,0))'::box)</entry>
<entry>lseg('((-1,0),(1,0))'::box)</entry>
</row>
</row>
<row>
<row>
<entry>lseg(point,point)</entry>
<entry>lseg(point,point)</entry>
<entry>lseg</entry>
<entry>lseg</entry>
<entry>
convert
to lseg</entry>
<entry>
points
to lseg</entry>
<entry>lseg('(-1,0)'::point,'(1,0)'::point)</entry>
<entry>lseg('(-1,0)'::point,'(1,0)'::point)</entry>
</row>
</row>
<row>
<row>
<entry>path(polygon)</entry>
<entry>path(polygon)</entry>
<entry>point</entry>
<entry>point</entry>
<entry>
convert
to path</entry>
<entry>
polygon
to path</entry>
<entry>path('((0,0),(1,1),(2,0))'::polygon)</entry>
<entry>path('((0,0),(1,1),(2,0))'::polygon)</entry>
</row>
</row>
<row>
<row>
<entry>point(circle)</entry>
<entry>point(circle)</entry>
<entry>point</entry>
<entry>point</entry>
<entry>c
onvert to point (center)
</entry>
<entry>c
enter
</entry>
<entry>point('((0,0),2.0)'::circle)</entry>
<entry>point('((0,0),2.0)'::circle)</entry>
</row>
</row>
<row>
<row>
<entry>point(lseg,lseg)</entry>
<entry>point(lseg,lseg)</entry>
<entry>point</entry>
<entry>point</entry>
<entry>
convert to point (intersection)
</entry>
<entry>
intersection
</entry>
<entry>point('((-1,0),(1,0))'::lseg, '((-2,-2),(2,2))'::lseg)</entry>
<entry>point('((-1,0),(1,0))'::lseg, '((-2,-2),(2,2))'::lseg)</entry>
</row>
</row>
<row>
<row>
<entry>point(polygon)</entry>
<entry>point(polygon)</entry>
<entry>point</entry>
<entry>point</entry>
<entry>center
of polygon
</entry>
<entry>center</entry>
<entry>point('((0,0),(1,1),(2,0))'::polygon)</entry>
<entry>point('((0,0),(1,1),(2,0))'::polygon)</entry>
</row>
</row>
<row>
<row>
<entry>polygon(box)</entry>
<entry>polygon(box)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert to polygon with 12 points
</entry>
<entry>
12 point polygon
</entry>
<entry>polygon('((0,0),(1,1))'::box)</entry>
<entry>polygon('((0,0),(1,1))'::box)</entry>
</row>
</row>
<row>
<row>
<entry>polygon(circle)</entry>
<entry>polygon(circle)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert to
12-point polygon</entry>
<entry>12-point polygon</entry>
<entry>polygon('((0,0),2.0)'::circle)</entry>
<entry>polygon('((0,0),2.0)'::circle)</entry>
</row>
</row>
<row>
<row>
<entry>polygon(<replaceable class="parameter">npts</replaceable>,circle)</entry>
<entry>polygon(<replaceable class="parameter">npts</replaceable>,circle)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert to
<replaceable class="parameter">npts</replaceable> polygon</entry>
<entry><replaceable class="parameter">npts</replaceable> polygon</entry>
<entry>polygon(12,'((0,0),2.0)'::circle)</entry>
<entry>polygon(12,'((0,0),2.0)'::circle)</entry>
</row>
</row>
<row>
<row>
<entry>polygon(path)</entry>
<entry>polygon(path)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert
to polygon</entry>
<entry>
path
to polygon</entry>
<entry>polygon('((0,0),(1,1),(2,0))'::path)</entry>
<entry>polygon('((0,0),(1,1),(2,0))'::path)</entry>
</row>
</row>
</tbody>
</tbody>
...
@@ -1438,19 +1435,19 @@ Not defined by this name. Implements the intersection operator '#'
...
@@ -1438,19 +1435,19 @@ Not defined by this name. Implements the intersection operator '#'
<row>
<row>
<entry>revertpoly(polygon)</entry>
<entry>revertpoly(polygon)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert pre-v6.1 polygon
</entry>
<entry>
to pre-v6.1
</entry>
<entry>revertpoly('((0,0),(1,1),(2,0))'::polygon)</entry>
<entry>revertpoly('((0,0),(1,1),(2,0))'::polygon)</entry>
</row>
</row>
<row>
<row>
<entry>upgradepath(path)</entry>
<entry>upgradepath(path)</entry>
<entry>path</entry>
<entry>path</entry>
<entry>
convert pre-v6.1 path
</entry>
<entry>
to pre-v6.1
</entry>
<entry>upgradepath('(1,3,0,0,1,1,2,0)'::path)</entry>
<entry>upgradepath('(1,3,0,0,1,1,2,0)'::path)</entry>
</row>
</row>
<row>
<row>
<entry>upgradepoly(polygon)</entry>
<entry>upgradepoly(polygon)</entry>
<entry>polygon</entry>
<entry>polygon</entry>
<entry>
convert pre-v6.1 polygon
</entry>
<entry>
to pre-v6.1
</entry>
<entry>upgradepoly('(0,1,2,0,1,0)'::polygon)</entry>
<entry>upgradepoly('(0,1,2,0,1,0)'::polygon)</entry>
</row>
</row>
</tbody>
</tbody>
...
...
doc/src/sgml/history.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.
7 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.
8 2000/05/02 20:01:51
thomas Exp $
-->
-->
<sect1>
<sect1>
...
@@ -189,7 +189,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.7 2000/03/31 03:27:40 thom
...
@@ -189,7 +189,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.7 2000/03/31 03:27:40 thom
<title><productname>PostgreSQL</productname></title>
<title><productname>PostgreSQL</productname></title>
<para>
<para>
By 1996, it became clear that the name
<quote>Postgres95</quote>
would
By 1996, it became clear that the name
"Postgres95"
would
not stand the test of time. We chose a new name,
not stand the test of time. We chose a new name,
<productname>PostgreSQL</productname>, to reflect the relationship
<productname>PostgreSQL</productname>, to reflect the relationship
between the original <productname>Postgres</productname> and the more
between the original <productname>Postgres</productname> and the more
...
...
doc/src/sgml/indices.sgml
浏览文件 @
45f79cae
...
@@ -354,7 +354,8 @@ CREATE MEMSTORE ON <table> COLUMNS <cols>
...
@@ -354,7 +354,8 @@ CREATE MEMSTORE ON <table> COLUMNS <cols>
is an index built over a subset of a table; the subset is defined by
is an index built over a subset of a table; the subset is defined by
a predicate. <productname>Postgres</productname>
a predicate. <productname>Postgres</productname>
supported partial indices with arbitrary
supported partial indices with arbitrary
predicates. I believe IBM's db2 for as/400 supports partial indices
predicates. I believe IBM's <productname>DB2</productname>
for AS/400 supports partial indices
using single-clause predicates.
using single-clause predicates.
</para>
</para>
...
...
doc/src/sgml/inherit.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/inherit.sgml,v 1.
6 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/inherit.sgml,v 1.
7 2000/05/02 20:01:51
thomas Exp $
-->
-->
<chapter id="inherit">
<chapter id="inherit">
...
@@ -78,12 +78,12 @@ SELECT c.name, c.altitude
...
@@ -78,12 +78,12 @@ SELECT c.name, c.altitude
Madison | 845
Madison | 845
</programlisting>
</programlisting>
Here the
<quote>*</quote>
after cities indicates that the query should
Here the
"*"
after cities indicates that the query should
be run over cities and all classes below cities in the
be run over cities and all classes below cities in the
inheritance hierarchy. Many of the commands that we
inheritance hierarchy. Many of the commands that we
have already discussed -- <command>SELECT</command>,
have already discussed -- <command>SELECT</command>,
<command>UPDATE</command> and <command>DELETE</command> --
<command>UPDATE</command> and <command>DELETE</command> --
support this
<quote>*</quote>
notation, as do others, like
support this
"*"
notation, as do others, like
<command>ALTER TABLE</command>.
<command>ALTER TABLE</command>.
</para>
</para>
</chapter>
</chapter>
...
...
doc/src/sgml/install.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/install.sgml,v 1.4
0 2000/04/14 23:04:44 tgl
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/install.sgml,v 1.4
1 2000/05/02 20:01:51 thomas
Exp $
-->
-->
<chapter id="install">
<chapter id="install">
...
@@ -33,7 +33,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/install.sgml,v 1.40 2000/04/14 23:04:
...
@@ -33,7 +33,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/install.sgml,v 1.40 2000/04/14 23:04:
work with other <application>make</application> programs. On GNU/Linux systems
work with other <application>make</application> programs. On GNU/Linux systems
GNU make is the default tool, on other systems you may find that
GNU make is the default tool, on other systems you may find that
GNU <application>make</application> is installed under the name
GNU <application>make</application> is installed under the name
<
quote>gmake</quote
>.
<
literal>gmake</literal
>.
We will use that name from now on to indicate <acronym>GNU</acronym>
We will use that name from now on to indicate <acronym>GNU</acronym>
<application>make</application>, no matter what name it has on your system.
<application>make</application>, no matter what name it has on your system.
To test for <acronym>GNU</acronym> <application>make</application> enter
To test for <acronym>GNU</acronym> <application>make</application> enter
...
@@ -612,23 +612,28 @@ libpq.so.2.1: cannot open shared object file: No such file or directory
...
@@ -612,23 +612,28 @@ libpq.so.2.1: cannot open shared object file: No such file or directory
Run the regression tests against the installed server (using the sequential
Run the regression tests against the installed server (using the sequential
test method). If you didn't run the tests before installation, you should
test method). If you didn't run the tests before installation, you should
definitely do it now.
definitely do it now.
For detailed instructions see
<xref endterm="regress-title"
For detailed instructions see
linkend="regress">.
<xref endterm="regress-title"
linkend="regress">.
</para>
</para>
</listitem>
</listitem>
</itemizedlist>
</itemizedlist>
<para>
<para>
To start <quote>playing around</quote>, set up the paths as explained above
To start experimenting with <productname>Postgres</productname>,
set up the paths as explained above
and start the server. To create a database, type
and start the server. To create a database, type
<programlisting>
<programlisting>
> createdb testdb
> createdb testdb
</programlisting>
</programlisting>
Then enter
Then enter
<programlisting>
<programlisting>
> psql testdb
> psql testdb
</programlisting>
</programlisting>
to connect to that database. At the prompt you can enter SQL commands
to connect to that database. At the prompt you can enter SQL commands
and start experimenting.
and start experimenting.
</para>
</para>
...
...
doc/src/sgml/installation.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.
9 2000/03/31 03:27:40
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.
10 2000/05/02 20:01:51
thomas Exp $
Postgres quick Installation Guide.
Postgres quick Installation Guide.
- thomas 1998-10-26
- thomas 1998-10-26
...
@@ -28,27 +28,27 @@ Postgres quick Installation Guide.
...
@@ -28,27 +28,27 @@ Postgres quick Installation Guide.
<!entity biblio SYSTEM "biblio.sgml">
<!entity biblio SYSTEM "biblio.sgml">
]>
]>
<book>
<book
id="installation"
>
<!-- Title information -->
<!-- Title information -->
<title>PostgreSQL Installation Guide</title>
<title>PostgreSQL Installation Guide</title>
<bookinfo>
<bookinfo>
<releaseinfo>Covering v6.5
for general release</releaseinfo>
<releaseinfo>Covering v7.0
for general release</releaseinfo>
<bookbiblio>
<bookbiblio>
<authorgroup>
<authorgroup>
<corpauthor>The PostgreSQL Development Team</corpauthor>
<corpauthor>The PostgreSQL Development Team</corpauthor>
</authorgroup>
</authorgroup>
<!-- editor in authorgroup is not supported
<!-- editor in authorgroup is not supported
<AuthorGroup>
<AuthorGroup>
-->
-->
<editor>
<editor>
<firstname>Thomas</firstname>
<firstname>Thomas</firstname>
<surname>Lockhart</surname>
<surname>Lockhart</surname>
<affiliation>
<affiliation>
<orgname>Caltech/JPL</orgname>
<orgname>Caltech/JPL</orgname>
</affiliation>
</affiliation>
</editor>
</editor>
<!--
<!--
</AuthorGroup>
</AuthorGroup>
-->
-->
...
@@ -57,17 +57,17 @@ Postgres quick Installation Guide.
...
@@ -57,17 +57,17 @@ Postgres quick Installation Guide.
<AuthorInitials>TGL</AuthorInitials>
<AuthorInitials>TGL</AuthorInitials>
-->
-->
<date>(last updated 1999-06
-01)</date>
<date>(last updated 2000-05
-01)</date>
</bookbiblio>
</bookbiblio>
<legalnotice>
<legalnotice>
<para>
<para>
<productname>PostgreSQL</productname> is Copyright © 1996-9
<productname>PostgreSQL</productname> is Copyright © 1996-2000
by the Postgres Global Development Group
.
by PostgreSQL Inc
.
</para>
</para>
</legalnotice>
</legalnotice>
</bookinfo>
</bookinfo>
<!--
<!--
<TOC> </TOC>
<TOC> </TOC>
...
@@ -82,38 +82,38 @@ Your name here...
...
@@ -82,38 +82,38 @@ Your name here...
</Dedication>
</Dedication>
-->
-->
<preface>
<preface>
<title>Summary</title>
<title>Summary</title>
<para>
<para>
<productname>Postgres</productname>,
<productname>Postgres</productname>,
developed originally in the UC Berkeley Computer Science Department,
developed originally in the UC Berkeley Computer Science Department,
pioneered many of the object-relational concepts
pioneered many of the object-relational concepts
now becoming available in some commercial databases.
now becoming available in some commercial databases.
It provides SQL92/SQL3 language support,
It provides SQL92/SQL3 language support,
transaction integrity, and type extensibility.
transaction integrity, and type extensibility.
<productname>PostgreSQL</productname> is an open-source descendant
<productname>PostgreSQL</productname> is an open-source descendant
of this original Berkeley code.
of this original Berkeley code.
</para>
</para>
</preface>
</preface>
<chapter>
<chapter>
<title>Introduction</title>
<title>Introduction</title>
<para>
<para>
This installation procedure makes some assumptions about the desired configuration
This installation procedure makes some assumptions about the desired configuration
and runtime environment for your system. This may be adequate for many installations,
and runtime environment for your system. This may be adequate for many installations,
and is almost certainly adequate for a first installation. But you may want to
and is almost certainly adequate for a first installation. But you may want to
do an initial installation up to the point of unpacking the source tree
do an initial installation up to the point of unpacking the source tree
and installing documentation, and then print or browse the
and installing documentation, and then print or browse the
<citetitle>Administrator's Guide</citetitle>.</para>
<citetitle>Administrator's Guide</citetitle>.</para>
</chapter>
</chapter>
&ports;
&ports;
&install;
&install;
&config;
&config;
&release;
&release;
<!--
<!--
<INDEX> </INDEX>
<INDEX> </INDEX>
...
...
doc/src/sgml/libpq++.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.1
5 2000/04/19 21:21:38 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.1
6 2000/05/02 20:01:51 thomas
Exp $
-->
-->
<chapter id="libpqplusplus">
<chapter id="libpqplusplus">
...
@@ -719,7 +719,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.15 2000/04/19 21:21:
...
@@ -719,7 +719,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.15 2000/04/19 21:21:
<function>PgDatabase::PutLine</function>
<function>PgDatabase::PutLine</function>
or when the last string has been received from the backend using
or when the last string has been received from the backend using
<function>PgDatabase::GetLine</function>.
<function>PgDatabase::GetLine</function>.
It must be issued or the backend may get
<quote>out of sync</quote>
with
It must be issued or the backend may get
"out of sync"
with
the frontend. Upon return from this function, the backend is ready to
the frontend. Upon return from this function, the backend is ready to
receive the next query.
receive the next query.
</para>
</para>
...
...
doc/src/sgml/libpq.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.3
7 2000/04/25 16:39:07 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.3
8 2000/05/02 20:01:52 thomas
Exp $
-->
-->
<chapter id="libpq-chapter">
<chapter id="libpq-chapter">
...
@@ -8,11 +8,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.37 2000/04/25 16:39:07 momji
...
@@ -8,11 +8,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.37 2000/04/25 16:39:07 momji
<para>
<para>
<filename>libpq</filename> is the <acronym>C</acronym>
<filename>libpq</filename> is the <acronym>C</acronym>
application programmer's interface to
application programmer's interface to
<productname>Postgre
SQL
</productname>. <filename>libpq</filename> is a set
<productname>Postgre
s
</productname>. <filename>libpq</filename> is a set
of library routines that allow client programs to pass queries to the
of library routines that allow client programs to pass queries to the
<productname>Postgres</productname> backend server and to receive the
<productname>Postgres</productname> backend server and to receive the
results of these queries. <filename>libpq</filename> is also the
results of these queries. <filename>libpq</filename> is also the
underlying engine for several other <productname>Postgre
SQL
</productname>
underlying engine for several other <productname>Postgre
s
</productname>
application interfaces, including <filename>libpq++</filename> (C++),
application interfaces, including <filename>libpq++</filename> (C++),
<filename>libpgtcl</filename> (Tcl), <productname>Perl</productname>, and
<filename>libpgtcl</filename> (Tcl), <productname>Perl</productname>, and
<filename>ecpg</filename>. So some aspects of libpq's behavior will be
<filename>ecpg</filename>. So some aspects of libpq's behavior will be
...
@@ -415,7 +415,7 @@ struct PQconninfoOption
...
@@ -415,7 +415,7 @@ struct PQconninfoOption
is leaked for each call to PQconndefaults().
is leaked for each call to PQconndefaults().
</para>
</para>
<para>
<para>
In Postgre
SQL
versions before 7.0, PQconndefaults() returned a pointer
In Postgre
s
versions before 7.0, PQconndefaults() returned a pointer
to a static array, rather than a dynamically allocated array. That
to a static array, rather than a dynamically allocated array. That
wasn't thread-safe, so the behavior has been changed.
wasn't thread-safe, so the behavior has been changed.
</para>
</para>
...
@@ -484,7 +484,7 @@ libpq application programmers should be careful to
...
@@ -484,7 +484,7 @@ libpq application programmers should be careful to
maintain the PGconn abstraction. Use the accessor functions below to get
maintain the PGconn abstraction. Use the accessor functions below to get
at the contents of PGconn. Avoid directly referencing the fields of the
at the contents of PGconn. Avoid directly referencing the fields of the
PGconn structure because they are subject to change in the future.
PGconn structure because they are subject to change in the future.
(Beginning in <productname>Postgre
SQL
</productname> release 6.4, the
(Beginning in <productname>Postgre
s
</productname> release 6.4, the
definition of struct PGconn is not even provided in <filename>libpq-fe.h</filename>.
definition of struct PGconn is not even provided in <filename>libpq-fe.h</filename>.
If you have old code that accesses PGconn fields directly, you can keep using it
If you have old code that accesses PGconn fields directly, you can keep using it
by including <filename>libpq-int.h</filename> too, but you are encouraged to fix the code
by including <filename>libpq-int.h</filename> too, but you are encouraged to fix the code
...
@@ -985,7 +985,7 @@ and is not thread-safe.
...
@@ -985,7 +985,7 @@ and is not thread-safe.
<function>PQprint</function>
<function>PQprint</function>
Prints out all the tuples and, optionally, the
Prints out all the tuples and, optionally, the
attribute names to the specified output stream.
attribute names to the specified output stream.
<synopsis>
<synopsis>
void PQprint(FILE* fout, /* output stream */
void PQprint(FILE* fout, /* output stream */
const PGresult *res,
const PGresult *res,
const PQprintOpt *po);
const PQprintOpt *po);
...
@@ -998,11 +998,11 @@ struct {
...
@@ -998,11 +998,11 @@ struct {
pqbool expanded; /* expand tables */
pqbool expanded; /* expand tables */
pqbool pager; /* use pager for output if needed */
pqbool pager; /* use pager for output if needed */
char *fieldSep; /* field separator */
char *fieldSep; /* field separator */
char *tableOpt; /* insert to HTML
<table ...>
*/
char *tableOpt; /* insert to HTML
<replaceable>table ...</replaceable>
*/
char *caption; /* HTML
<caption>
*/
char *caption; /* HTML
<replaceable>caption</replaceable>
*/
char **fieldName; /* null terminated array of replacement field names */
char **fieldName; /* null terminated array of replacement field names */
} PQprintOpt;
} PQprintOpt;
</synopsis>
</synopsis>
This function was formerly used by <application>psql</application>
This function was formerly used by <application>psql</application>
to print query results, but this is no longer the case and this
to print query results, but this is no longer the case and this
function is no longer actively supported.
function is no longer actively supported.
...
@@ -1342,7 +1342,7 @@ is not currently open or the backend is not currently processing a query.
...
@@ -1342,7 +1342,7 @@ is not currently open or the backend is not currently processing a query.
<title>Fast Path</title>
<title>Fast Path</title>
<para>
<para>
<productname>Postgre
SQL
</productname> provides a fast path interface to send
<productname>Postgre
s
</productname> provides a fast path interface to send
function calls to the backend. This is a trapdoor into system internals and
function calls to the backend. This is a trapdoor into system internals and
can be a potential security hole. Most users will not need this feature.
can be a potential security hole. Most users will not need this feature.
...
@@ -1398,7 +1398,7 @@ typedef struct {
...
@@ -1398,7 +1398,7 @@ typedef struct {
<title>Asynchronous Notification</title>
<title>Asynchronous Notification</title>
<para>
<para>
<productname>Postgre
SQL
</productname> supports asynchronous notification via the
<productname>Postgre
s
</productname> supports asynchronous notification via the
LISTEN and NOTIFY commands. A backend registers its interest in a particular
LISTEN and NOTIFY commands. A backend registers its interest in a particular
notification condition with the LISTEN command (and can stop listening
notification condition with the LISTEN command (and can stop listening
with the UNLISTEN command). All backends listening on a
with the UNLISTEN command). All backends listening on a
...
@@ -1438,7 +1438,7 @@ be sure to free it with <function>free()</function> to avoid a memory leak.
...
@@ -1438,7 +1438,7 @@ be sure to free it with <function>free()</function> to avoid a memory leak.
</para>
</para>
<note>
<note>
<para>
<para>
In <productname>Postgre
SQL
</productname> 6.4 and later,
In <productname>Postgre
s
</productname> 6.4 and later,
the <literal>be_pid</literal> is the notifying backend's,
the <literal>be_pid</literal> is the notifying backend's,
whereas in earlier versions it was always your own backend's <acronym>PID</acronym>.
whereas in earlier versions it was always your own backend's <acronym>PID</acronym>.
</para>
</para>
...
@@ -1484,7 +1484,7 @@ if any notifications came in during the processing of the query.
...
@@ -1484,7 +1484,7 @@ if any notifications came in during the processing of the query.
<title>Functions Associated with the COPY Command</title>
<title>Functions Associated with the COPY Command</title>
<para>
<para>
The COPY command in <productname>Postgre
SQL
</productname> has options to read from
The COPY command in <productname>Postgre
s
</productname> has options to read from
or write to the network connection used by <filename>libpq</filename>.
or write to the network connection used by <filename>libpq</filename>.
Therefore, functions are necessary to access this network
Therefore, functions are necessary to access this network
connection directly so applications may take advantage of this capability.
connection directly so applications may take advantage of this capability.
...
@@ -1568,7 +1568,7 @@ The data returned will not extend beyond a newline character. If possible
...
@@ -1568,7 +1568,7 @@ The data returned will not extend beyond a newline character. If possible
a whole line will be returned at one time. But if the buffer offered by
a whole line will be returned at one time. But if the buffer offered by
the caller is too small to hold a line sent by the backend, then a partial
the caller is too small to hold a line sent by the backend, then a partial
data line will be returned. This can be detected by testing whether the
data line will be returned. This can be detected by testing whether the
last returned byte is
<quote><literal>\n</literal></quote>
or not.
last returned byte is
"<literal>\n</literal>"
or not.
The returned string is not null-terminated. (If you want to add a
The returned string is not null-terminated. (If you want to add a
terminating null, be sure to pass a bufsize one smaller than the room
terminating null, be sure to pass a bufsize one smaller than the room
actually available.)
actually available.)
...
@@ -1585,7 +1585,7 @@ int PQputline(PGconn *conn,
...
@@ -1585,7 +1585,7 @@ int PQputline(PGconn *conn,
const char *string);
const char *string);
</synopsis>
</synopsis>
Note the application must explicitly send the two
Note the application must explicitly send the two
characters
<quote><literal>\.</literal></quote>
on a final line to indicate to
characters
"<literal>\.</literal>"
on a final line to indicate to
the backend that it has finished sending its data.
the backend that it has finished sending its data.
</para>
</para>
</listitem>
</listitem>
...
@@ -1615,7 +1615,7 @@ specified directly.
...
@@ -1615,7 +1615,7 @@ specified directly.
sent to the backend using <function>PQputline</function> or when the
sent to the backend using <function>PQputline</function> or when the
last string has been received from the backend
last string has been received from the backend
using <function>PGgetline</function>. It must be issued or the backend
using <function>PGgetline</function>. It must be issued or the backend
may get
<quote>out of sync</quote>
with the frontend. Upon
may get
"out of sync"
with the frontend. Upon
return from this function, the backend is ready to
return from this function, the backend is ready to
receive the next query.
receive the next query.
The return value is 0 on successful completion,
The return value is 0 on successful completion,
...
@@ -1718,7 +1718,7 @@ PQsetNoticeProcessor(PGconn *conn,
...
@@ -1718,7 +1718,7 @@ PQsetNoticeProcessor(PGconn *conn,
</para>
</para>
<para>
<para>
By default, <application>libpq</application> prints
<quote>notice</quote>
By default, <application>libpq</application> prints
"notice"
messages from the backend on <filename>stderr</filename>,
messages from the backend on <filename>stderr</filename>,
as well as a few error messages that it generates by itself.
as well as a few error messages that it generates by itself.
This behavior can be overridden by supplying a callback function that
This behavior can be overridden by supplying a callback function that
...
@@ -1777,14 +1777,14 @@ Without a host name, libpq will connect using a local Unix domain socket.
...
@@ -1777,14 +1777,14 @@ Without a host name, libpq will connect using a local Unix domain socket.
<listitem>
<listitem>
<para>
<para>
<envar>PGPORT</envar> sets the default port or local Unix domain socket
<envar>PGPORT</envar> sets the default port or local Unix domain socket
file extension for communicating with the <productname>Postgre
SQL
</productname>
file extension for communicating with the <productname>Postgre
s
</productname>
backend.
backend.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
<envar>PGDATABASE</envar> sets the default
<envar>PGDATABASE</envar> sets the default
<productname>Postgre
SQL
</productname> database name.
<productname>Postgre
s
</productname> database name.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
...
@@ -1802,8 +1802,8 @@ sets the password used if the backend demands password authentication.
...
@@ -1802,8 +1802,8 @@ sets the password used if the backend demands password authentication.
<listitem>
<listitem>
<para>
<para>
<envar>PGREALM</envar> sets the Kerberos realm to use with
<envar>PGREALM</envar> sets the Kerberos realm to use with
<productname>Postgre
SQL
</productname>, if it is different from the local realm.
<productname>Postgre
s
</productname>, if it is different from the local realm.
If <envar>PGREALM</envar> is set, <productname>Postgre
SQL
</productname>
If <envar>PGREALM</envar> is set, <productname>Postgre
s
</productname>
applications will attempt authentication with servers for this realm and use
applications will attempt authentication with servers for this realm and use
separate ticket files to avoid conflicts with local
separate ticket files to avoid conflicts with local
ticket files. This environment variable is only
ticket files. This environment variable is only
...
@@ -1813,7 +1813,7 @@ used if Kerberos authentication is selected by the backend.
...
@@ -1813,7 +1813,7 @@ used if Kerberos authentication is selected by the backend.
<listitem>
<listitem>
<para>
<para>
<envar>PGOPTIONS</envar> sets additional runtime options for
<envar>PGOPTIONS</envar> sets additional runtime options for
the <productname>Postgre
SQL
</productname> backend.
the <productname>Postgre
s
</productname> backend.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
...
@@ -1878,7 +1878,7 @@ for information on correct values for these environment variables.
...
@@ -1878,7 +1878,7 @@ for information on correct values for these environment variables.
<para>
<para>
<filename>libpq</filename> is thread-safe as of
<filename>libpq</filename> is thread-safe as of
<productname>Postgre
SQL
</productname> 7.0, so long as no two threads
<productname>Postgre
s
</productname> 7.0, so long as no two threads
attempt to manipulate the same PGconn object at the same time. In particular,
attempt to manipulate the same PGconn object at the same time. In particular,
you can't issue concurrent queries from different threads through the same
you can't issue concurrent queries from different threads through the same
connection object. (If you need to run concurrent queries, start up multiple
connection object. (If you need to run concurrent queries, start up multiple
...
...
doc/src/sgml/lisp.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/lisp.sgml,v 2.
2 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/lisp.sgml,v 2.
3 2000/05/02 20:01:52
thomas Exp $
-->
-->
<chapter id="lisp">
<chapter id="lisp">
...
@@ -31,8 +31,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/lisp.sgml,v 2.2 2000/03/31 03:27:41 t
...
@@ -31,8 +31,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/lisp.sgml,v 2.2 2000/03/31 03:27:41 t
<para>
<para>
The code (version 0.2) is available under GNU GPL from
The code (version 0.2) is available under GNU GPL from
<ulink url="http://www.chez.com/emarsden/downloads/pg.el">
<ulink url="http://www.chez.com/emarsden/downloads/pg.el">Eric Marsden</ulink>
http://www.chez.com/emarsden/downloads/pg.el</ulink>
</para>
</para>
<para>
<para>
...
...
doc/src/sgml/lobj.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.1
0 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.1
1 2000/05/02 20:01:52
thomas Exp $
-->
-->
<chapter id="largeObjects">
<chapter id="largeObjects">
...
@@ -288,235 +288,235 @@ SELECT lo_export(image.raster, '/tmp/motd') from image
...
@@ -288,235 +288,235 @@ SELECT lo_export(image.raster, '/tmp/motd') from image
<para>
<para>
<programlisting>
<programlisting>
/*--------------------------------------------------------------
/*--------------------------------------------------------------
*
*
* testlo.c--
* testlo.c--
* test using large objects with libpq
* test using large objects with libpq
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* /usr/local/devel/pglite/cvs/src/doc/manual.me,v 1.16 1995/09/01 23:55:00 jolly Exp
* /usr/local/devel/pglite/cvs/src/doc/manual.me,v 1.16 1995/09/01 23:55:00 jolly Exp
*
*
*--------------------------------------------------------------
*--------------------------------------------------------------
*/
*/
#include <stdio.h>
#include <stdio.h>
#include "libpq-fe.h"
#include "libpq-fe.h"
#include "libpq/libpq-fs.h"
#include "libpq/libpq-fs.h"
#define BUFSIZE 1024
#define BUFSIZE 1024
/*
/*
* importFile * import file "in_filename" into database as large object "lobjOid"
* importFile * import file "in_filename" into database as large object "lobjOid"
*
*
*/
*/
Oid importFile(PGconn *conn, char *filename)
Oid importFile(PGconn *conn, char *filename)
{
{
Oid lobjId;
Oid lobjId;
int lobj_fd;
int lobj_fd;
char buf[BUFSIZE];
char buf[BUFSIZE];
int nbytes, tmp;
int nbytes, tmp;
int fd;
int fd;
/*
/*
* open the file to be read in
* open the file to be read in
*/
*/
fd = open(filename, O_RDONLY, 0666);
fd = open(filename, O_RDONLY, 0666);
if (fd < 0) { /* error */
if (fd < 0) { /* error */
fprintf(stderr, "can't open unix file %s\n", filename);
fprintf(stderr, "can't open unix file %s\n", filename);
}
}
/*
/*
* create the large object
* create the large object
*/
*/
lobjId = lo_creat(conn, INV_READ|INV_WRITE);
lobjId = lo_creat(conn, INV_READ|INV_WRITE);
if (lobjId == 0) {
if (lobjId == 0) {
fprintf(stderr, "can't create large object\n");
fprintf(stderr, "can't create large object\n");
}
}
lobj_fd = lo_open(conn, lobjId, INV_WRITE);
lobj_fd = lo_open(conn, lobjId, INV_WRITE);
/*
/*
* read in from the Unix file and write to the inversion file
* read in from the Unix file and write to the inversion file
*/
*/
while ((nbytes = read(fd, buf, BUFSIZE)) > 0) {
while ((nbytes = read(fd, buf, BUFSIZE)) > 0) {
tmp = lo_write(conn, lobj_fd, buf, nbytes);
tmp = lo_write(conn, lobj_fd, buf, nbytes);
if (tmp < nbytes) {
if (tmp < nbytes) {
fprintf(stderr, "error while reading large object\n");
fprintf(stderr, "error while reading large object\n");
}
}
}
}
(void) close(fd);
(void) close(fd);
(void) lo_close(conn, lobj_fd);
(void) lo_close(conn, lobj_fd);
return lobjId;
return lobjId;
}
}
void pickout(PGconn *conn, Oid lobjId, int start, int len)
void pickout(PGconn *conn, Oid lobjId, int start, int len)
{
{
int lobj_fd;
int lobj_fd;
char* buf;
char* buf;
int nbytes;
int nbytes;
int nread;
int nread;
lobj_fd = lo_open(conn, lobjId, INV_READ);
lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd < 0) {
if (lobj_fd < 0) {
fprintf(stderr,"can't open large object %d\n",
fprintf(stderr,"can't open large object %d\n",
lobjId);
lobjId);
}
}
lo_lseek(conn, lobj_fd, start, SEEK_SET);
lo_lseek(conn, lobj_fd, start, SEEK_SET);
buf = malloc(len+1);
buf = malloc(len+1);
nread = 0;
nread = 0;
while (len - nread > 0) {
while (len - nread > 0) {
nbytes = lo_read(conn, lobj_fd, buf, len - nread);
nbytes = lo_read(conn, lobj_fd, buf, len - nread);
buf[nbytes] = ' ';
buf[nbytes] = ' ';
fprintf(stderr,">>> %s", buf);
fprintf(stderr,">>> %s", buf);
nread += nbytes;
nread += nbytes;
}
}
fprintf(stderr,"\n");
fprintf(stderr,"\n");
lo_close(conn, lobj_fd);
lo_close(conn, lobj_fd);
}
}
void overwrite(PGconn *conn, Oid lobjId, int start, int len)
void overwrite(PGconn *conn, Oid lobjId, int start, int len)
{
{
int lobj_fd;
int lobj_fd;
char* buf;
char* buf;
int nbytes;
int nbytes;
int nwritten;
int nwritten;
int i;
int i;
lobj_fd = lo_open(conn, lobjId, INV_READ);
lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd < 0) {
if (lobj_fd < 0) {
fprintf(stderr,"can't open large object %d\n",
fprintf(stderr,"can't open large object %d\n",
lobjId);
lobjId);
}
}
lo_lseek(conn, lobj_fd, start, SEEK_SET);
lo_lseek(conn, lobj_fd, start, SEEK_SET);
buf = malloc(len+1);
buf = malloc(len+1);
for (i=0;i<len;i++)
for (i=0;i<len;i++)
buf[i] = 'X';
buf[i] = 'X';
buf[i] = ' ';
buf[i] = ' ';
nwritten = 0;
nwritten = 0;
while (len - nwritten > 0) {
while (len - nwritten > 0) {
nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten);
nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten);
nwritten += nbytes;
nwritten += nbytes;
}
}
fprintf(stderr,"\n");
fprintf(stderr,"\n");
lo_close(conn, lobj_fd);
lo_close(conn, lobj_fd);
}
}
/*
/*
* exportFile * export large object "lobjOid" to file "out_filename"
* exportFile * export large object "lobjOid" to file "out_filename"
*
*
*/
*/
void exportFile(PGconn *conn, Oid lobjId, char *filename)
void exportFile(PGconn *conn, Oid lobjId, char *filename)
{
{
int lobj_fd;
int lobj_fd;
char buf[BUFSIZE];
char buf[BUFSIZE];
int nbytes, tmp;
int nbytes, tmp;
int fd;
int fd;
/*
/*
* create an inversion "object"
* create an inversion "object"
*/
*/
lobj_fd = lo_open(conn, lobjId, INV_READ);
lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd < 0) {
if (lobj_fd < 0) {
fprintf(stderr,"can't open large object %d\n",
fprintf(stderr,"can't open large object %d\n",
lobjId);
lobjId);
}
}
/*
/*
* open the file to be written to
* open the file to be written to
*/
*/
fd = open(filename, O_CREAT|O_WRONLY, 0666);
fd = open(filename, O_CREAT|O_WRONLY, 0666);
if (fd < 0) { /* error */
if (fd < 0) { /* error */
fprintf(stderr, "can't open unix file %s\n",
fprintf(stderr, "can't open unix file %s\n",
filename);
filename);
}
}
/*
/*
* read in from the Unix file and write to the inversion file
* read in from the Unix file and write to the inversion file
*/
*/
while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) > 0) {
while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) > 0) {
tmp = write(fd, buf, nbytes);
tmp = write(fd, buf, nbytes);
if (tmp < nbytes) {
if (tmp < nbytes) {
fprintf(stderr,"error while writing %s\n",
fprintf(stderr,"error while writing %s\n",
filename);
filename);
}
}
}
}
(void) lo_close(conn, lobj_fd);
(void) lo_close(conn, lobj_fd);
(void) close(fd);
(void) close(fd);
return;
return;
}
}
void
void
exit_nicely(PGconn* conn)
exit_nicely(PGconn* conn)
{
{
PQfinish(conn);
PQfinish(conn);
exit(1);
exit(1);
}
}
int
int
main(int argc, char **argv)
main(int argc, char **argv)
{
{
char *in_filename, *out_filename;
char *in_filename, *out_filename;
char *database;
char *database;
Oid lobjOid;
Oid lobjOid;
PGconn *conn;
PGconn *conn;
PGresult *res;
PGresult *res;
if (argc != 4) {
if (argc != 4) {
fprintf(stderr, "Usage: %s database_name in_filename out_filename\n",
fprintf(stderr, "Usage: %s database_name in_filename out_filename\n",
argv[0]);
argv[0]);
exit(1);
exit(1);
}
}
database = argv[1];
database = argv[1];
in_filename = argv[2];
in_filename = argv[2];
out_filename = argv[3];
out_filename = argv[3];
/*
/*
* set up the connection
* set up the connection
*/
*/
conn = PQsetdb(NULL, NULL, NULL, NULL, database);
conn = PQsetdb(NULL, NULL, NULL, NULL, database);
/* check to see that the backend connection was successfully made */
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD) {
if (PQstatus(conn) == CONNECTION_BAD) {
fprintf(stderr,"Connection to database '%s' failed.\n", database);
fprintf(stderr,"Connection to database '%s' failed.\n", database);
fprintf(stderr,"%s",PQerrorMessage(conn));
fprintf(stderr,"%s",PQerrorMessage(conn));
exit_nicely(conn);
exit_nicely(conn);
}
}
res = PQexec(conn, "begin");
res = PQexec(conn, "begin");
PQclear(res);
PQclear(res);
printf("importing file %s\n", in_filename);
printf("importing file %s\n", in_filename);
/* lobjOid = importFile(conn, in_filename); */
/* lobjOid = importFile(conn, in_filename); */
lobjOid = lo_import(conn, in_filename);
lobjOid = lo_import(conn, in_filename);
/*
/*
printf("as large object %d.\n", lobjOid);
printf("as large object %d.\n", lobjOid);
printf("picking out bytes 1000-2000 of the large object\n");
printf("picking out bytes 1000-2000 of the large object\n");
pickout(conn, lobjOid, 1000, 1000);
pickout(conn, lobjOid, 1000, 1000);
printf("overwriting bytes 1000-2000 of the large object with X's\n");
printf("overwriting bytes 1000-2000 of the large object with X's\n");
overwrite(conn, lobjOid, 1000, 1000);
overwrite(conn, lobjOid, 1000, 1000);
*/
*/
printf("exporting large object to file %s\n", out_filename);
printf("exporting large object to file %s\n", out_filename);
/* exportFile(conn, lobjOid, out_filename); */
/* exportFile(conn, lobjOid, out_filename); */
lo_export(conn, lobjOid,out_filename);
lo_export(conn, lobjOid,out_filename);
res = PQexec(conn, "end");
res = PQexec(conn, "end");
PQclear(res);
PQclear(res);
PQfinish(conn);
PQfinish(conn);
exit(0);
exit(0);
}
}
</programlisting>
</programlisting>
</para>
</para>
...
...
doc/src/sgml/manage-ag.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.
7 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.
8 2000/05/02 20:01:52
thomas Exp $
-->
-->
<chapter id="manage-ag">
<chapter id="manage-ag">
...
@@ -133,9 +133,9 @@ Type: \copyright for distribution terms
...
@@ -133,9 +133,9 @@ Type: \copyright for distribution terms
White space (i.e., spaces, tabs and newlines) may be
White space (i.e., spaces, tabs and newlines) may be
used freely in <acronym>SQL</acronym> queries.
used freely in <acronym>SQL</acronym> queries.
Single-line comments are denoted by two dashes
Single-line comments are denoted by two dashes
(
<quote>--</quote>
). Everything after the dashes up to the end of the
(
"<literal>--</literal>"
). Everything after the dashes up to the end of the
line is ignored. Multiple-line comments, and comments within a line,
line is ignored. Multiple-line comments, and comments within a line,
are denoted by
<quote>/* ... */</quote>
, a convention borrowed
are denoted by
"<literal>/* ... */</literal>"
, a convention borrowed
from <productname>Ingres</productname>.
from <productname>Ingres</productname>.
</para>
</para>
</sect1>
</sect1>
...
...
doc/src/sgml/manage.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/manage.sgml,v 1.
9 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/manage.sgml,v 1.
10 2000/05/02 20:01:52
thomas Exp $
-->
-->
<Chapter Id="manage">
<Chapter Id="manage">
...
@@ -46,7 +46,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/manage.sgml,v 1.9 2000/03/31 03:27:41
...
@@ -46,7 +46,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/manage.sgml,v 1.9 2000/03/31 03:27:41
</Para>
</Para>
<Para>
<Para>
To create a new database named <
Quote>mydb</Quote
> from the command line, type
To create a new database named <
literal>mydb</literal
> from the command line, type
<ProgramListing>
<ProgramListing>
% createdb mydb
% createdb mydb
</ProgramListing>
</ProgramListing>
...
@@ -93,7 +93,7 @@ ERROR: CREATE DATABASE: Permission denied.
...
@@ -93,7 +93,7 @@ ERROR: CREATE DATABASE: Permission denied.
Consult with the site administrator
Consult with the site administrator
regarding preconfigured alternate database locations.
regarding preconfigured alternate database locations.
Any valid environment variable name may be used to reference an alternate location,
Any valid environment variable name may be used to reference an alternate location,
although using variable names with a prefix of <
quote>PGDATA</quote
> is recommended
although using variable names with a prefix of <
envar>PGDATA</envar
> is recommended
to avoid confusion
to avoid confusion
and conflict with other variables.
and conflict with other variables.
</Para>
</Para>
...
@@ -185,7 +185,7 @@ enter, edit, and execute <Acronym>SQL</Acronym> commands.
...
@@ -185,7 +185,7 @@ enter, edit, and execute <Acronym>SQL</Acronym> commands.
library. This allows you to submit <Acronym>SQL</Acronym> commands
library. This allows you to submit <Acronym>SQL</Acronym> commands
from C and get answers and status messages back to
from C and get answers and status messages back to
your program. This interface is discussed further
your program. This interface is discussed further
in
section ??
.
in
<citetitle>The PostgreSQL Programmer's Guide</citetitle>
.
</Para>
</Para>
</ListItem>
</ListItem>
</ItemizedList>
</ItemizedList>
...
@@ -217,7 +217,7 @@ This prompt indicates that psql is listening
...
@@ -217,7 +217,7 @@ This prompt indicates that psql is listening
to you and that you can type <Acronym>SQL</Acronym> queries into a
to you and that you can type <Acronym>SQL</Acronym> queries into a
workspace maintained by the terminal monitor.
workspace maintained by the terminal monitor.
The <Application>psql</Application> program responds to escape codes that begin
The <Application>psql</Application> program responds to escape codes that begin
with the backslash character,
<Quote>\</Quote>
For example, you
with the backslash character,
"<literal>\</literal>".
For example, you
can get help on the syntax of various
can get help on the syntax of various
<ProductName>PostgreSQL</ProductName> <Acronym>SQL</Acronym> commands by typing:
<ProductName>PostgreSQL</ProductName> <Acronym>SQL</Acronym> commands by typing:
<ProgramListing>
<ProgramListing>
...
@@ -232,7 +232,7 @@ mydb=> \g
...
@@ -232,7 +232,7 @@ mydb=> \g
</ProgramListing>
</ProgramListing>
This tells the server to process the query. If you
This tells the server to process the query. If you
terminate your query with a semicolon, the
<Quote>\g</Quote>
is not
terminate your query with a semicolon, the
"<literal>\g</literal>"
is not
necessary.
necessary.
<Application>psql</Application> will automatically process semicolon terminated queries.
<Application>psql</Application> will automatically process semicolon terminated queries.
To read queries from a file, say myFile, instead of
To read queries from a file, say myFile, instead of
...
@@ -251,9 +251,9 @@ mydb=> \q
...
@@ -251,9 +251,9 @@ mydb=> \q
prompt.)
prompt.)
White space (i.e., spaces, tabs and newlines) may be
White space (i.e., spaces, tabs and newlines) may be
used freely in <Acronym>SQL</Acronym> queries. Single-line comments are denoted by
used freely in <Acronym>SQL</Acronym> queries. Single-line comments are denoted by
<Quote>--</Quote>
. Everything after the dashes up to the end of the
"<literal>--</literal>"
. Everything after the dashes up to the end of the
line is ignored. Multiple-line comments, and comments within a line,
line is ignored. Multiple-line comments, and comments within a line,
are denoted by
<Quote>/* ... */</Quote>
are denoted by
"<literal>/* ... */</literal>".
</Para>
</Para>
<Sect2>
<Sect2>
...
...
doc/src/sgml/notation.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.
9 2000/04/07 13:30:58
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.
10 2000/05/02 20:01:52
thomas Exp $
-->
-->
<sect1 id="terminology">
<sect1 id="terminology">
...
@@ -75,35 +75,35 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.9 2000/04/07 13:30:58 tho
...
@@ -75,35 +75,35 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.9 2000/04/07 13:30:58 tho
<title>Notation</title>
<title>Notation</title>
<para>
<para>
<quote>...</quote>
or <filename>/usr/local/pgsql/</filename>
"<literal>...</literal>"
or <filename>/usr/local/pgsql/</filename>
at the front of a file name is used to represent the
at the front of a file name is used to represent the
path to the <Productname>Postgres</Productname> superuser's home directory.
path to the <Productname>Postgres</Productname> superuser's home directory.
</para>
</para>
<para>
<para>
In a command synopsis, brackets
In a command synopsis, brackets
(
<quote>[</quote> and <quote>]</quote>
) indicate an optional phrase or keyword.
(
"<literal>[</literal>" and "<literal>]</literal>"
) indicate an optional phrase or keyword.
Anything in braces
Anything in braces
(
<quote>{</quote> and <quote>}</quote>
) and containing vertical bars
(
"<literal>{</literal>" and "<literal>}</literal>"
) and containing vertical bars
(
<quote>|</quote>
)
(
"<literal>|</literal>"
)
indicates that you must choose one.
indicates that you must choose one.
</para>
</para>
<para>
<para>
In examples, parentheses (
<quote>(</quote> and <quote>)</quote>
) are
In examples, parentheses (
"<literal>(</literal>" and "<literal>)</literal>"
) are
used to group boolean
used to group boolean
expressions.
<quote>|</quote>
is the boolean operator OR.
expressions.
"<literal>|</literal>"
is the boolean operator OR.
</para>
</para>
<para>
<para>
Examples will show commands executed from various accounts and programs.
Examples will show commands executed from various accounts and programs.
Commands executed from the root account will be preceeded with
Commands executed from the root account will be preceeded with
<quote>></quote>
.
"<literal>></literal>"
.
Commands executed from the <Productname>Postgres</Productname>
Commands executed from the <Productname>Postgres</Productname>
superuser account will be preceeded with
<quote>%</quote>
, while commands
superuser account will be preceeded with
"<literal>%</literal>"
, while commands
executed from an unprivileged user's account will be preceeded with
executed from an unprivileged user's account will be preceeded with
<quote>$</quote>
.
"<literal>$</literal>"
.
<acronym>SQL</acronym> commands will be preceeded with
<quote>=></quote>
<acronym>SQL</acronym> commands will be preceeded with
"<literal>=></literal>"
or will have no leading prompt, depending on the context.
or will have no leading prompt, depending on the context.
</para>
</para>
...
...
doc/src/sgml/odbc.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.1
4 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.1
5 2000/05/02 20:01:52
thomas Exp $
-->
-->
<chapter id="odbc">
<chapter id="odbc">
...
@@ -125,7 +125,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -125,7 +125,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
can I write it using <acronym>ODBC</acronym> calls
can I write it using <acronym>ODBC</acronym> calls
to the <productname>Postgres</productname> server,
to the <productname>Postgres</productname> server,
or is that only when another database program
or is that only when another database program
like MS SQL Server or Access needs to access the data?</quote>
like MS SQL Server or Access needs to access the data?
</quote>
</para>
</para>
<para>
<para>
The <acronym>ODBC</acronym> <acronym>API</acronym>
The <acronym>ODBC</acronym> <acronym>API</acronym>
...
@@ -171,8 +172,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -171,8 +172,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
<productname>ApplixWare</productname> has an
<productname>ApplixWare</productname> has an
<acronym>ODBC</acronym> database interface
<acronym>ODBC</acronym> database interface
supported on at least some platforms.
supported on at least some platforms.
<productname>ApplixWare</productname> v4.4.
1
has been
<productname>ApplixWare</productname> v4.4.
2
has been
demonstrated under Linux with <productname>Postgres</productname> v
6.4
demonstrated under Linux with <productname>Postgres</productname> v
7.0
using the <productname>psqlODBC</productname>
using the <productname>psqlODBC</productname>
driver contained in the <productname>Postgres</productname> distribution.
driver contained in the <productname>Postgres</productname> distribution.
</para>
</para>
...
@@ -253,20 +254,36 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -253,20 +254,36 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
command-line argument for <application>src/configure</application>:
command-line argument for <application>src/configure</application>:
<programlisting>
<programlisting>
% ./configure --with-odbc
% ./configure --with-odbc
% make
% make
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
<step performance="required">
<step performance="required">
<para>
<para>
Rebuild the <productname>Postgres</productname> distribution:
Rebuild the <productname>Postgres</productname> distribution:
<programlisting>
<programlisting>
% make install
% make install
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
<step performance="optional">
<para>
Install the ODBC catalog extensions available in
<filename>PGROOT/contrib/odbc/odbc.sql</filename>:
<programlisting>
% psql -e template1 < $PGROOT/contrib/odbc/odbc.sql
</programlisting>
where specifying <literal>template1</literal> as the target
database will ensure that all subsequent new databases will
have these same definitions.
</para>
</step>
</procedure>
</procedure>
<para>
<para>
...
@@ -278,7 +295,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -278,7 +295,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
This can be overridden from the <application>make</application> command-line
This can be overridden from the <application>make</application> command-line
as
as
<programlisting>
<programlisting>
% make ODBCINST=<replaceable>filename</replaceable> install
% make ODBCINST=<replaceable>filename</replaceable> install
</programlisting>
</programlisting>
</para>
</para>
...
@@ -304,9 +321,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -304,9 +321,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
sources, type:
sources, type:
<programlisting>
<programlisting>
% ./configure
% ./configure
% make
% make
% make POSTGRESDIR=<replaceable class="parameter">PostgresTopDir</replaceable> install
% make POSTGRESDIR=<replaceable class="parameter">PostgresTopDir</replaceable> install
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
...
@@ -317,7 +334,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -317,7 +334,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
then you can specify various destinations explicitly:
then you can specify various destinations explicitly:
<programlisting>
<programlisting>
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
...
@@ -368,7 +385,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -368,7 +385,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
or gzipped tarfile to an empty directory. If using the zip package
or gzipped tarfile to an empty directory. If using the zip package
unzip it with the command
unzip it with the command
<programlisting>
<programlisting>
% unzip -a <replaceable>packagename</replaceable>
% unzip -a <replaceable>packagename</replaceable>
</programlisting>
</programlisting>
The <option>-a</option> option
The <option>-a</option> option
...
@@ -380,7 +397,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -380,7 +397,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
If you have the gzipped tar package than simply run
If you have the gzipped tar package than simply run
<programlisting>
<programlisting>
tar -xzf <replaceable>packagename</replaceable>
%
tar -xzf <replaceable>packagename</replaceable>
</programlisting>
</programlisting>
</para>
</para>
...
@@ -404,8 +421,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -404,8 +421,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
Create the tar file:
Create the tar file:
<programlisting>
<programlisting>
% cd interfaces/odbc
% cd interfaces/odbc
% make standalone
% make standalone
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
...
@@ -429,7 +446,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -429,7 +446,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
Configure the standalone installation:
Configure the standalone installation:
<programlisting>
<programlisting>
% ./configure
% ./configure
</programlisting>
</programlisting>
</para>
</para>
...
@@ -437,8 +454,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -437,8 +454,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
The configuration can be done with options:
The configuration can be done with options:
<programlisting>
<programlisting>
% ./configure --prefix=<replaceable>rootdir</replaceable>
% ./configure --prefix=<replaceable>rootdir</replaceable> --with-odbc=<replaceable>inidir</replaceable>
--with-odbc=<replaceable>inidir</replaceable>
</programlisting>
</programlisting>
where <option>--prefix</option> installs the libraries and headers in
where <option>--prefix</option> installs the libraries and headers in
...
@@ -463,7 +479,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -463,7 +479,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
Compile and link the source code:
Compile and link the source code:
<programlisting>
<programlisting>
% make ODBCINST=<replaceable>instdir</replaceable>
% make ODBCINST=<replaceable>instdir</replaceable>
</programlisting>
</programlisting>
</para>
</para>
...
@@ -493,7 +509,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -493,7 +509,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
Install the source code:
Install the source code:
<programlisting>
<programlisting>
% make POSTGRESDIR=<replaceable>targettree</replaceable> install
% make POSTGRESDIR=<replaceable>targettree</replaceable> install
</programlisting>
</programlisting>
</para>
</para>
...
@@ -513,9 +529,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -513,9 +529,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
Here is how you would specify the various destinations explicitly:
Here is how you would specify the various destinations explicitly:
<programlisting>
<programlisting>
% make BINDIR=<replaceable>bindir</replaceable>
% make BINDIR=<replaceable>bindir</replaceable> LIBDIR=<replaceable>libdir</replaceable> HEADERDIR=<replaceable>headerdir</replaceable> install
LIBDIR<replaceable>>libdi</replaceable>>
HEADERDIR=<replaceable>headerdir</replaceable> install
</programlisting>
</programlisting>
</para>
</para>
...
@@ -523,7 +537,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -523,7 +537,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
For example, typing
For example, typing
<programlisting>
<programlisting>
% make POSTGRESDIR=/opt/psqlodbc install
% make POSTGRESDIR=/opt/psqlodbc install
</programlisting>
</programlisting>
(after you've used
(after you've used
...
@@ -537,7 +551,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -537,7 +551,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
The command
The command
<programlisting>
<programlisting>
% make POSTGRESDIR=/opt/psqlodbc HEADERDIR=/usr/local install
% make POSTGRESDIR=/opt/psqlodbc HEADERDIR=/usr/local install
</programlisting>
</programlisting>
should cause the libraries to be installed in /opt/psqlodbc/lib and
should cause the libraries to be installed in /opt/psqlodbc/lib and
...
@@ -570,10 +584,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
...
@@ -570,10 +584,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.14 2000/03/31 03:27:41
<literal>[ODBC Data Sources]</literal> and must contain the following entries:
<literal>[ODBC Data Sources]</literal> and must contain the following entries:
<programlisting>
<programlisting>
Driver = <replaceable>POSTGRESDIR</replaceable>/lib/libpsqlodbc.so
Driver = <replaceable>POSTGRESDIR</replaceable>/lib/libpsqlodbc.so
Database=<replaceable>DatabaseName</replaceable>
Database=<replaceable>DatabaseName</replaceable>
Servername=localhost
Servername=localhost
Port=5432
Port=5432
</programlisting>
</programlisting>
<tip>
<tip>
...
@@ -632,6 +646,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -632,6 +646,7 @@ InstallDir = /opt/applix/axdata/axshlib
</programlisting>
</programlisting>
</para>
</para>
</sect1>
</sect1>
<sect1>
<sect1>
<title>ApplixWare</title>
<title>ApplixWare</title>
...
@@ -679,7 +694,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -679,7 +694,7 @@ InstallDir = /opt/applix/axdata/axshlib
find the line that starts with
find the line that starts with
<programlisting>
<programlisting>
#libFor elfodbc /ax/<replaceable>...</replaceable>
#libFor elfodbc /ax/<replaceable>...</replaceable>
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
...
@@ -688,7 +703,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -688,7 +703,7 @@ InstallDir = /opt/applix/axdata/axshlib
Change line to read
Change line to read
<programlisting>
<programlisting>
libFor elfodbc <replaceable>applixroot</replaceable>/applix/axdata/axshlib/lib
libFor elfodbc <replaceable>applixroot</replaceable>/applix/axdata/axshlib/lib
</programlisting>
</programlisting>
which will tell elfodbc to look in this directory
which will tell elfodbc to look in this directory
...
@@ -709,7 +724,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -709,7 +724,7 @@ InstallDir = /opt/applix/axdata/axshlib
described above. You may also want to add the flag
described above. You may also want to add the flag
<programlisting>
<programlisting>
TextAsLongVarchar=0
TextAsLongVarchar=0
</programlisting>
</programlisting>
to the database-specific portion of <filename>.odbc.ini</filename>
to the database-specific portion of <filename>.odbc.ini</filename>
...
@@ -763,7 +778,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -763,7 +778,7 @@ InstallDir = /opt/applix/axdata/axshlib
</substeps>
</substeps>
<para>
<para>
You should see
<quote>Starting elfodbc server</quote>
You should see
"<literal>Starting elfodbc server</literal>"
in the lower left corner of the
in the lower left corner of the
data window. If you get an error dialog box, see the debugging section
data window. If you get an error dialog box, see the debugging section
below.
below.
...
@@ -895,14 +910,14 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -895,14 +910,14 @@ InstallDir = /opt/applix/axdata/axshlib
the axnet process. For example, if
the axnet process. For example, if
<programlisting>
<programlisting>
ps -aucx | grep ax
%
ps -aucx | grep ax
</programlisting>
</programlisting>
shows
shows
<programlisting>
<programlisting>
cary 10432 0.0 2.6 1740 392 ? S Oct 9 0:00 axnet
cary 10432 0.0 2.6 1740 392 ? S Oct 9 0:00 axnet
cary 27883 0.9 31.0 12692 4596 ? S 10:24 0:04 axmain
cary 27883 0.9 31.0 12692 4596 ? S 10:24 0:04 axmain
</programlisting>
</programlisting>
</para>
</para>
...
@@ -910,7 +925,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -910,7 +925,7 @@ InstallDir = /opt/applix/axdata/axshlib
Then run
Then run
<programlisting>
<programlisting>
strace -f -s 1024 -p 10432
% strace -f -s 1024 -p 10432
</programlisting>
</programlisting>
</para>
</para>
</step>
</step>
...
@@ -934,16 +949,16 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -934,16 +949,16 @@ InstallDir = /opt/applix/axdata/axshlib
<para>
<para>
For example, after getting
For example, after getting
a
<quote>Cannot launch gateway on server</quote>
,
a
"<literal>Cannot launch gateway on server</literal>"
,
I ran strace on axnet and got
I ran strace on axnet and got
<programlisting>
<programlisting>
[pid 27947] open("/usr/lib/libodbc.so", O_RDONLY) = -1 ENOENT
[pid 27947] open("/usr/lib/libodbc.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
(No such file or directory)
[pid 27947] open("/lib/libodbc.so", O_RDONLY) = -1 ENOENT
[pid 27947] open("/lib/libodbc.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
(No such file or directory)
[pid 27947] write(2, "/usr2/applix/axdata/elfodbc:
[pid 27947] write(2, "/usr2/applix/axdata/elfodbc:
can't load library 'libodbc.so'\n", 61) = -1 EIO (I/O error)
can't load library 'libodbc.so'\n", 61) = -1 EIO (I/O error)
</programlisting>
</programlisting>
So what is happening is that applix elfodbc is searching for libodbc.so, but it
So what is happening is that applix elfodbc is searching for libodbc.so, but it
can't find it. That is why axnet.cnf needed to be changed.
can't find it. That is why axnet.cnf needed to be changed.
...
@@ -1034,7 +1049,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -1034,7 +1049,7 @@ InstallDir = /opt/applix/axdata/axshlib
<step performance="required">
<step performance="required">
<para>
<para>
Enter the value
<quote>sqldemo</quote>
, then click <command>OK</command>.
Enter the value
"<literal>sqldemo</literal>"
, then click <command>OK</command>.
</para>
</para>
<para>
<para>
...
@@ -1060,10 +1075,10 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -1060,10 +1075,10 @@ InstallDir = /opt/applix/axdata/axshlib
<filename>~/axhome/macros/login.am</filename> file:
<filename>~/axhome/macros/login.am</filename> file:
<programlisting>
<programlisting>
macro login
macro login
set_set_system_var@("sql_username@","tgl")
set_set_system_var@("sql_username@","tgl")
set_system_var@("sql_passwd@","no$way")
set_system_var@("sql_passwd@","no$way")
endmacro
endmacro
</programlisting>
</programlisting>
<caution>
<caution>
...
...
doc/src/sgml/oper.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/oper.sgml,v 1.1
5 2000/03/31 03:27:41
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/oper.sgml,v 1.1
6 2000/05/02 20:01:52
thomas Exp $
-->
-->
<Chapter Id="operators">
<Chapter Id="operators">
...
@@ -22,7 +22,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/oper.sgml,v 1.15 2000/03/31 03:27:41
...
@@ -22,7 +22,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/oper.sgml,v 1.15 2000/03/31 03:27:41
</Para>
</Para>
<Para>
<Para>
To view all variations of the
<Quote>||</Quote>
string concatenation operator,
To view all variations of the
"<literal>||</literal>"
string concatenation operator,
try
try
<ProgramListing>
<ProgramListing>
SELECT oprleft, oprright, oprresult, oprcode
SELECT oprleft, oprright, oprresult, oprcode
...
@@ -74,15 +74,9 @@ Operator Ordering (decreasing precedence)
...
@@ -74,15 +74,9 @@ Operator Ordering (decreasing precedence)
<tgroup cols="2">
<tgroup cols="2">
<thead>
<thead>
<row>
<row>
<entry>
<entry>Element</entry>
Element
<entry>Precedence</entry>
</entry>
<entry>Description</entry>
<entry>
Precedence
</entry>
<entry>
Description
</entry>
</row>
</row>
</thead>
</thead>
...
@@ -141,6 +135,8 @@ right
...
@@ -141,6 +135,8 @@ right
unary minus
unary minus
</entry>
</entry>
</row>
</row>
<!--
Deprecated as of v7.0
<row>
<row>
<entry>
<entry>
;
;
...
@@ -152,6 +148,7 @@ left
...
@@ -152,6 +148,7 @@ left
statement termination, logarithm
statement termination, logarithm
</entry>
</entry>
</row>
</row>
-->
<row>
<row>
<entry>
<entry>
:
:
...
@@ -283,7 +280,7 @@ string pattern matching
...
@@ -283,7 +280,7 @@ string pattern matching
<entry>
<entry>
</entry>
</entry>
<entry>
<entry>
boolean
inequality
inequality
</entry>
</entry>
</row>
</row>
<row>
<row>
...
@@ -305,7 +302,7 @@ NOT
...
@@ -305,7 +302,7 @@ NOT
right
right
</entry>
</entry>
<entry>
<entry>
negation
logical
negation
</entry>
</entry>
</row>
</row>
<row>
<row>
...
@@ -494,11 +491,14 @@ logical union
...
@@ -494,11 +491,14 @@ logical union
<ENTRY>Natural Exponentiation</ENTRY>
<ENTRY>Natural Exponentiation</ENTRY>
<ENTRY>: 3.0</ENTRY>
<ENTRY>: 3.0</ENTRY>
</ROW>
</ROW>
<!--
Deprecated in v7.0, esp. since ln() is available as a generic function.
<ROW>
<ROW>
<ENTRY> ; </ENTRY>
<ENTRY> ; </ENTRY>
<ENTRY>Natural Logarithm</ENTRY>
<ENTRY>Natural Logarithm</ENTRY>
<ENTRY>(; 5.0)</ENTRY>
<ENTRY>(; 5.0)</ENTRY>
</ROW>
</ROW>
-->
<ROW>
<ROW>
<ENTRY> @ </ENTRY>
<ENTRY> @ </ENTRY>
<ENTRY>Absolute value</ENTRY>
<ENTRY>Absolute value</ENTRY>
...
@@ -527,8 +527,8 @@ logical union
...
@@ -527,8 +527,8 @@ logical union
<para>
<para>
<note>
<note>
<para>
<para>
T
he operators ":" and ";" are deprecated,
and will be removed in
T
wo operators, ":" and ";", are now deprecated
and will be removed in
the ne
ar futur
e. Use the equivalent functions exp() and ln()
the ne
xt releas
e. Use the equivalent functions exp() and ln()
instead.
instead.
</para>
</para>
</note>
</note>
...
...
doc/src/sgml/plsql.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.
3 2000/03/31 06:17:21
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.
4 2000/05/02 20:01:52
thomas Exp $
-->
-->
<chapter>
<chapter>
...
@@ -512,7 +512,7 @@ RETURN <replaceable>expression</replaceable>
...
@@ -512,7 +512,7 @@ RETURN <replaceable>expression</replaceable>
<programlisting>
<programlisting>
RAISE <replaceable class="parameter">level</replaceable> <replaceable class="parameter">format</replaceable>'' [, <replaceable class="parameter">identifier</replaceable> [...]];
RAISE <replaceable class="parameter">level</replaceable> <replaceable class="parameter">format</replaceable>'' [, <replaceable class="parameter">identifier</replaceable> [...]];
</programlisting>
</programlisting>
Inside the format,
<quote>%</quote>
is used as a placeholder for the
Inside the format,
"<literal>%</literal>"
is used as a placeholder for the
subsequent comma-separated identifiers. Possible levels are
subsequent comma-separated identifiers. Possible levels are
DEBUG (silently suppressed in production running databases), NOTICE
DEBUG (silently suppressed in production running databases), NOTICE
(written into the database log and forwarded to the client application)
(written into the database log and forwarded to the client application)
...
...
doc/src/sgml/ports.sgml
浏览文件 @
45f79cae
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<title>Ports</title>
<title>Ports</title>
<para>
<para>
This manual describes version
6.5
of <productname>Postgres</productname>.
This manual describes version
7.0
of <productname>Postgres</productname>.
The <productname>Postgres</productname> developer community has
The <productname>Postgres</productname> developer community has
compiled and tested <productname>Postgres</productname> on a
compiled and tested <productname>Postgres</productname> on a
number of platforms. Check
number of platforms. Check
...
@@ -34,180 +34,171 @@
...
@@ -34,180 +34,171 @@
<entry>RS6000</entry>
<entry>RS6000</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-05</entry>
<entry>2000-04-05</entry>
<entry>
(<ulink url="mailto:Andreas.Zeugswetter@telecom.at">Andreas Zeugswetter</ulink>)
</entry>
<entry>
<ulink url="mailto:Andreas.Zeugswetter@telecom.at">Andreas Zeugswetter</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>BSDI 4.01</entry>
<entry>BSDI 4.01</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-04</entry>
<entry>2000-04-04</entry>
<entry>
(
<ulink url="mailto:maillist@candle.pha.pa.us">Bruce Momjian</ulink></entry>
<entry><ulink url="mailto:maillist@candle.pha.pa.us">Bruce Momjian</ulink></entry>
</row>
</row>
<row>
<row>
<entry>Compaq Tru64 5.0</entry>
<entry>Compaq Tru64 5.0</entry>
<entry>Alpha</entry>
<entry>Alpha</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-11</entry>
<entry>2000-04-11</entry>
<entry>
(<ulink url="mailto:andrew.mcmurry@astro.uio.no">Andrew McMurry</ulink>)
</entry>
<entry>
<ulink url="mailto:andrew.mcmurry@astro.uio.no">Andrew McMurry</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>FreeBSD 4.0</entry>
<entry>FreeBSD 4.0</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-04</entry>
<entry>2000-04-04</entry>
<entry>
(<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink>)
</entry>
<entry>
<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>HPUX</entry>
<entry>HPUX</entry>
<entry>PA-RISC</entry>
<entry>PA-RISC</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry>2000-04-12</entry>
<entry>Both 9.0x and 10.20
<entry>Both 9.0x and 10.20
.
(<ulink url="mailto:tgl@sss.pgh.pa.us">Tom Lane</ulink>)
</entry>
<ulink url="mailto:tgl@sss.pgh.pa.us">Tom Lane</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>IRIX 6.5.6f</entry>
<entry>IRIX 6.5.6f</entry>
<entry>MIPS</entry>
<entry>MIPS</entry>
<entry>v6.5.3</entry>
<entry>v6.5.3</entry>
<entry>2000-02-18</entry>
<entry>2000-02-18</entry>
<entry>MIPSPro 7.3.1.1m
; full N32 build
<entry>MIPSPro 7.3.1.1m
N32 build.
(<ulink url="hxpro@cinesite.co.uk">Kevin Wheatley</ulink>)
</entry>
<ulink url="hxpro@cinesite.co.uk">Kevin Wheatley</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Linux 2.0.x</entry>
<entry>Linux 2.0.x</entry>
<entry>Alpha</entry>
<entry>Alpha</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-05</entry>
<entry>2000-04-05</entry>
<entry>
With patches
<entry>
With published patches.
(<ulink url="mailto:pgsql@rkirkpat.net">Ryan Kirkpatrick</ulink>)
</entry>
<ulink url="mailto:pgsql@rkirkpat.net">Ryan Kirkpatrick</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Linux 2.2.x</entry>
<entry>Linux 2.2.x</entry>
<entry>armv4l</entry>
<entry>armv4l</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-17</entry>
<entry>2000-04-17</entry>
<entry>Regression test needs work
<entry>Regression test needs work
.
(<ulink url="mailto:segfault@hardline.org">Mark Knox</ulink>)
</entry>
<ulink url="mailto:segfault@hardline.org">Mark Knox</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Linux 2.2.x</entry>
<entry>Linux 2.2.x</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-03-26</entry>
<entry>2000-03-26</entry>
<entry>
(<ulink url="mailto:lamar.owen@wgcr.org">Lamar Owens</ulink>)
</entry>
<entry>
<ulink url="mailto:lamar.owen@wgcr.org">Lamar Owens</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Linux 2.0.x</entry>
<entry>Linux 2.0.x</entry>
<entry>MIPS</entry>
<entry>MIPS</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>2000-04-13</entry>
<entry>Cobalt Qube
<entry>Cobalt Qube
.
(<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>)
</entry>
<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Linux 2.2.5</entry>
<entry>Linux 2.2.5</entry>
<entry>Sparc</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-02</entry>
<entry>2000-04-02</entry>
<entry>
(<ulink url="mailto:szybist@boxhill.com">Tom Szybist</ulink>)
</entry>
<entry>
<ulink url="mailto:szybist@boxhill.com">Tom Szybist</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>LinuxPPC R4</entry>
<entry>LinuxPPC R4</entry>
<entry>PPC603e</entry>
<entry>PPC603e</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>2000-04-13</entry>
<entry>
(<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>)
</entry>
<entry>
<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>mklinux</entry>
<entry>mklinux</entry>
<entry>PPC750</entry>
<entry>PPC750</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>2000-04-13</entry>
<entry>
(<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>)
</entry>
<entry>
<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>NetBSD 1.4</entry>
<entry>NetBSD 1.4</entry>
<entry>arm32</entry>
<entry>arm32</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-08</entry>
<entry>2000-04-08</entry>
<entry>
(
<ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
<entry><ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
Welche</ulink>
)
</entry>
Welche</ulink></entry>
</row>
</row>
<row>
<row>
<entry>NetBSD 1.4U</entry>
<entry>NetBSD 1.4U</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-03-26</entry>
<entry>2000-03-26</entry>
<entry>
(
<ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
<entry><ulink url="mailto:prlw1@newn.cam.ac.uk">Patrick
Welche</ulink>
)
</entry>
Welche</ulink></entry>
</row>
</row>
<row>
<row>
<entry>NetBSD</entry>
<entry>NetBSD</entry>
<entry>m68k</entry>
<entry>m68k</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-10</entry>
<entry>2000-04-10</entry>
<entry>Mac 8xx
<entry>Mac 8xx
.
(<ulink url="mailto:hotz@jpl.nasa.gov">Henry B. Hotz</ulink>)
</entry>
<ulink url="mailto:hotz@jpl.nasa.gov">Henry B. Hotz</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>NetBSD/sparc</entry>
<entry>NetBSD/sparc</entry>
<entry>Sparc</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>2000-04-13</entry>
<entry>
(<ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink>)
</entry>
<entry>
<ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>QNX 4.25</entry>
<entry>QNX 4.25</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-01</entry>
<entry>2000-04-01</entry>
<entry>
<entry><ulink url="mailto:kardos@repas-aeg.de">Dr. Andreas Kardos</ulink></entry>
(<ulink url="mailto:kardos@repas-aeg.de">Dr. Andreas Kardos</ulink>)</entry>
</row>
</row>
<row>
<row>
<entry>SCO OpenServer 5</entry>
<entry>SCO OpenServer 5</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v6.5</entry>
<entry>v6.5</entry>
<entry>1999-05-25</entry>
<entry>1999-05-25</entry>
<entry>
(<ulink url="mailto:andrew@compclass.com">Andrew Merrill</ulink>)
</entry>
<entry>
<ulink url="mailto:andrew@compclass.com">Andrew Merrill</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>SCO UnixWare 7</entry>
<entry>SCO UnixWare 7</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-18</entry>
<entry>2000-04-18</entry>
<entry>See FAQ
; needs patch for compiler bug
<entry>See FAQ
.
(<ulink url="mailto:Bill.Allie@mug.org">Billy G. Allie</ulink>)
</entry>
<ulink url="mailto:Bill.Allie@mug.org">Billy G. Allie</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Solaris</entry>
<entry>Solaris</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry>2000-04-12</entry>
<entry>
(<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink>)
</entry>
<entry>
<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>Solaris 2.5.1-2.7</entry>
<entry>Solaris 2.5.1-2.7</entry>
<entry>Sparc</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-12</entry>
<entry>2000-04-12</entry>
<entry>
(
<ulink url="mailto:peter_e@gmx.net">Peter Eisentraut</ulink>,
<entry><ulink url="mailto:peter_e@gmx.net">Peter Eisentraut</ulink>,
<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink>
)
</entry>
<ulink url="mailto:scrappy@hub.org">Marc Fournier</ulink></entry>
</row>
</row>
<row>
<row>
<entry>SunOS 4.1.4</entry>
<entry>SunOS 4.1.4</entry>
<entry>Sparc</entry>
<entry>Sparc</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-13</entry>
<entry>2000-04-13</entry>
<entry>(<ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink>)</entry>
<entry><ulink url="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</ulink></entry>
</row>
<row>
<entry>SVR4</entry>
<entry>MIPS</entry>
<entry>v6.4</entry>
<entry>1998-10-28</entry>
<entry>No 64-bit int compiler support
(<ulink url="mailto:ridderbusch.pad@sni.de">Frank Ridderbusch</ulink>)</entry>
</row>
</row>
<row>
<row>
<entry>Windows/Win32</entry>
<entry>Windows/Win32</entry>
...
@@ -215,15 +206,15 @@
...
@@ -215,15 +206,15 @@
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-04-02</entry>
<entry>2000-04-02</entry>
<entry>Client-side libraries or ODBC/JDBC. No server-side.
<entry>Client-side libraries or ODBC/JDBC. No server-side.
(
<ulink url="mha@sollentuna.net">Magnus Hagander</ulink></entry>
<ulink url="mha@sollentuna.net">Magnus Hagander</ulink></entry>
</row>
</row>
<row>
<row>
<entry>WinNT/Cygwin</entry>
<entry>WinNT/Cygwin</entry>
<entry>x86</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>v7.0</entry>
<entry>2000-03-30</entry>
<entry>2000-03-30</entry>
<entry>
Working with the
Cygwin library.
<entry>
Uses
Cygwin library.
(
<ulink url="mailto:horak@sit.plzen-city.cz">Daniel Horak</ulink>) </entry>
<ulink url="mailto:horak@sit.plzen-city.cz">Daniel Horak</ulink>) </entry>
</row>
</row>
</tbody>
</tbody>
</tgroup>
</tgroup>
...
@@ -235,7 +226,8 @@
...
@@ -235,7 +226,8 @@
For <productname>Windows NT</productname>,
For <productname>Windows NT</productname>,
the server-side port of <productname>Postgres</productname> uses
the server-side port of <productname>Postgres</productname> uses
the RedHat/Cygnus <productname>Cygwin</productname> library and
the RedHat/Cygnus <productname>Cygwin</productname> library and
toolset.
toolset. For <productname>Windows 9x</productname>, no
server-side port is available due to OS limitations.
</para>
</para>
</note>
</note>
</sect1>
</sect1>
...
@@ -256,7 +248,7 @@
...
@@ -256,7 +248,7 @@
tested for v7.0 or v6.5.x:
tested for v7.0 or v6.5.x:
<table tocentry="1">
<table tocentry="1">
<title>
Obsolete
Platforms</title>
<title>
Unsupported
Platforms</title>
<tgroup cols="4">
<tgroup cols="4">
<thead>
<thead>
<row>
<row>
...
@@ -268,40 +260,57 @@
...
@@ -268,40 +260,57 @@
</row>
</row>
</thead>
</thead>
<tbody>
<tbody>
<row>
<entry>BeOS</entry>
<entry>x86</entry>
<entry>v7.0</entry>
<entry>2000-05-01</entry>
<entry>Client-side coming soon?
<ulink url="mailto:adam@newsnipple.com">Adam Haberlach</ulink></entry>
</row>
<row>
<row>
<entry>DGUX 5.4R4.11</entry>
<entry>DGUX 5.4R4.11</entry>
<entry>m88k</entry>
<entry>m88k</entry>
<entry>v6.3</entry>
<entry>v6.3</entry>
<entry>1998-03-01</entry>
<entry>1998-03-01</entry>
<entry>v6.4 probably OK. Needs new maintainer.
<entry>v6.4 probably OK. Needs new maintainer.
(<ulink url="mailto:geek+@cmu.edu">Brian E Gallew</ulink>)
</entry>
<ulink url="mailto:geek+@cmu.edu">Brian E Gallew</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>NetBSD-current</entry>
<entry>NetBSD-current</entry>
<entry>NS32532</entry>
<entry>NS32532</entry>
<entry>v6.4</entry>
<entry>v6.4</entry>
<entry>1998-10-27</entry>
<entry>1998-10-27</entry>
<entry>
small problems in date/time math
<entry>
Date math annoyances.
(<ulink url="mailto:jonb@metronet.com">Jon Buller</ulink>)
</entry>
<ulink url="mailto:jonb@metronet.com">Jon Buller</ulink>
</entry>
</row>
</row>
<row>
<row>
<entry>NetBSD 1.3</entry>
<entry>NetBSD 1.3</entry>
<entry>VAX</entry>
<entry>VAX</entry>
<entry>v6.3</entry>
<entry>v6.3</entry>
<entry>1998-03-01</entry>
<entry>1998-03-01</entry>
<entry>(<ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink>)</entry>
<entry>v7.0 should work.
<ulink url="mailto:tih@kpnQwest.no">Tom I Helbekkmo</ulink></entry>
</row>
</row>
<row>
<row>
<entry>SVR4 4.4</entry>
<entry>SVR4 4.4</entry>
<entry>m88k</entry>
<entry>m88k</entry>
<entry>v6.2.1</entry>
<entry>v6.2.1</entry>
<entry>1998-03-01</entry>
<entry>1998-03-01</entry>
<entry>Confirmed with patching; v6.4.x will need TAS spinlock code
<entry>v6.4.x will need TAS spinlock code.
(<ulink url="mailto:dlw@seavme.xroads.com">Doug Winterburn</ulink>)</entry>
<ulink url="mailto:dlw@seavme.xroads.com">Doug Winterburn</ulink></entry>
</row>
<row>
<entry>SVR4</entry>
<entry>MIPS</entry>
<entry>v6.4</entry>
<entry>1998-10-28</entry>
<entry>No 64-bit int.
<ulink url="mailto:ridderbusch.pad@sni.de">Frank Ridderbusch</ulink></entry>
</row>
</row>
<row>
<row>
<entry>Ultrix</entry>
<entry>Ultrix</entry>
<entry>MIPS,
VAX?
</entry>
<entry>MIPS,
VAX
</entry>
<entry>v6.x</entry>
<entry>v6.x</entry>
<entry>1998-03-01</entry>
<entry>1998-03-01</entry>
<entry>No recent reports; obsolete?</entry>
<entry>No recent reports; obsolete?</entry>
...
@@ -342,8 +351,8 @@
...
@@ -342,8 +351,8 @@
<entry>x86</entry>
<entry>x86</entry>
<entry>v6.x</entry>
<entry>v6.x</entry>
<entry>1998-03-01</entry>
<entry>1998-03-01</entry>
<entry>Client-only support; v1.0.9 worked with patches
(<ulink
<entry>Client-only support; v1.0.9 worked with patches
url="mailto:dave@turbocat.de">David Wetzel</ulink>)
</entry>
<ulink url="mailto:dave@turbocat.de">David Wetzel</ulink>
</entry>
</row>
</row>
</tbody>
</tbody>
</tgroup>
</tgroup>
...
...
doc/src/sgml/postgres.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.3
5 2000/03/31 03:26:21
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.3
6 2000/05/02 20:01:52
thomas Exp $
-->
-->
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
...
@@ -93,6 +93,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
...
@@ -93,6 +93,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
<!entity arch-dev SYSTEM "arch-dev.sgml">
<!entity arch-dev SYSTEM "arch-dev.sgml">
<!entity biblio SYSTEM "biblio.sgml">
<!entity biblio SYSTEM "biblio.sgml">
<!entity bki SYSTEM "bki.sgml">
<!entity bki SYSTEM "bki.sgml">
<!entity catalogs SYSTEM "catalogs.sgml">
<!entity compiler SYSTEM "compiler.sgml">
<!entity compiler SYSTEM "compiler.sgml">
<!entity contacts SYSTEM "contacts.sgml">
<!entity contacts SYSTEM "contacts.sgml">
<!entity cvs SYSTEM "cvs.sgml">
<!entity cvs SYSTEM "cvs.sgml">
...
@@ -106,27 +107,28 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
...
@@ -106,27 +107,28 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
<!entity sources SYSTEM "sources.sgml">
<!entity sources SYSTEM "sources.sgml">
]>
]>
<!-- entity manpages SYSTEM "man/manpages.sgml" subdoc -->
<!-- entity manpages SYSTEM "man/manpages.sgml" subdoc -->
<Book Id="postgres">
<book id="postgres">
<!-- Title information -->
<!-- Title information -->
<
Title>PostgreSQL</T
itle>
<
title>PostgreSQL</t
itle>
<
BookI
nfo>
<
booki
nfo>
<
ReleaseInfo>Covering v6.5 for general release</ReleaseI
nfo>
<
releaseinfo>Covering v7.0 for general release</releasei
nfo>
<
BookB
iblio>
<
bookb
iblio>
<
AuthorG
roup>
<
authorg
roup>
<
CorpAuthor>The PostgreSQL Development Team</CorpA
uthor>
<
corpauthor>The PostgreSQL Development Team</corpa
uthor>
</
AuthorG
roup>
</
authorg
roup>
<!-- editor in authorgroup is not supported
<!-- editor in authorgroup is not supported
<AuthorGroup>
<AuthorGroup>
-->
-->
<
E
ditor>
<
e
ditor>
<
FirstName>Thomas</FirstN
ame>
<
firstname>Thomas</firstn
ame>
<
SurName>Lockhart</SurN
ame>
<
surname>Lockhart</surn
ame>
<
A
ffiliation>
<
a
ffiliation>
<
OrgName>Caltech/JPL</OrgN
ame>
<
orgname>Caltech/JPL</orgn
ame>
</
A
ffiliation>
</
a
ffiliation>
</
E
ditor>
</
e
ditor>
<!--
<!--
</AuthorGroup>
</AuthorGroup>
-->
-->
...
@@ -135,17 +137,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
...
@@ -135,17 +137,17 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 th
<AuthorInitials>TGL</AuthorInitials>
<AuthorInitials>TGL</AuthorInitials>
-->
-->
<
Date>(last updated 1999-06-01)</D
ate>
<
date>(last updated 2000-05-01)</d
ate>
</
BookB
iblio>
</
bookb
iblio>
<
LegalN
otice>
<
legaln
otice>
<
P
ara>
<
p
ara>
<
ProductName>PostgreSQL</ProductName> is Copyright © 1996-9
<
productname>PostgreSQL</productname> is Copyright © 1996-2000
by
the Postgres Global Development Group
.
by
PostgreSQL Inc
.
</
P
ara>
</
p
ara>
</
LegalN
otice>
</
legaln
otice>
</
BookI
nfo>
</
booki
nfo>
<!--
<!--
<TOC> </TOC>
<TOC> </TOC>
...
@@ -161,27 +163,27 @@ Your name here...
...
@@ -161,27 +163,27 @@ Your name here...
-->
-->
<preface id="preface">
<preface id="preface">
<
Title>Summary</T
itle>
<
title>Summary</t
itle>
<
P
ara>
<
p
ara>
<
ProductName>Postgres</ProductN
ame>,
<
productname>Postgres</productn
ame>,
developed originally in the UC Berkeley Computer Science Department,
developed originally in the UC Berkeley Computer Science Department,
pioneered many of the object-relational concepts
pioneered many of the object-relational concepts
now becoming available in some commercial databases.
now becoming available in some commercial databases.
It provides SQL92/SQL3 language support,
It provides SQL92/SQL3 language support,
transaction integrity, and type extensibility.
transaction integrity, and type extensibility.
<
ProductName>PostgreSQL</ProductN
ame> is an
<
productname>PostgreSQL</productn
ame> is an
open-source descendant of this original Berkeley code.
open-source descendant of this original Berkeley code.
</
P
ara>
</
p
ara>
</
P
reface>
</
p
reface>
<part
I
d="part-user">
<part
i
d="part-user">
<
Title>User's Guide</T
itle>
<
title>User's Guide</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
Information for users.
Information for users.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
&intro;
&intro;
&syntax;
&syntax;
...
@@ -202,15 +204,15 @@ Your name here...
...
@@ -202,15 +204,15 @@ Your name here...
&plan;
&plan;
&populate;
&populate;
&commands;
&commands;
</
P
art>
</
p
art>
<part
I
d="part-admin">
<part
i
d="part-admin">
<
Title>Administrator's Guide</T
itle>
<
title>Administrator's Guide</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
Installation and maintenance information.
Installation and maintenance information.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
<!--
<!--
Disable these extra intro chapters since some elements (e.g. y2k
Disable these extra intro chapters since some elements (e.g. y2k
statement) are included in the first intro.sgml and cause errors if
statement) are included in the first intro.sgml and cause errors if
...
@@ -230,15 +232,15 @@ Your name here...
...
@@ -230,15 +232,15 @@ Your name here...
&recovery;
&recovery;
®ress;
®ress;
&release;
&release;
</
P
art>
</
p
art>
<part
I
d="part-programmer">
<part
i
d="part-programmer">
<
Title>Programmer's Guide</T
itle>
<
title>Programmer's Guide</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
Information for extending <
ProductName>Postgres</ProductN
ame>.
Information for extending <
productname>Postgres</productn
ame>.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
<!--
<!--
Disable these extra intro chapters since some elements (e.g. y2k
Disable these extra intro chapters since some elements (e.g. y2k
statement) are included in the first intro.sgml and cause errors if
statement) are included in the first intro.sgml and cause errors if
...
@@ -259,15 +261,15 @@ Your name here...
...
@@ -259,15 +261,15 @@ Your name here...
&trigger;
&trigger;
&spi;
&spi;
&xplang;
&xplang;
</
P
art>
</
p
art>
<part
I
d="part-interfaces">
<part
i
d="part-interfaces">
<
Title>Interfaces</T
itle>
<
title>Interfaces</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
User and programmer interfaces.
User and programmer interfaces.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
&func-ref;
&func-ref;
&lobj;
&lobj;
&ecpg;
&ecpg;
...
@@ -278,48 +280,54 @@ Your name here...
...
@@ -278,48 +280,54 @@ Your name here...
&odbc;
&odbc;
&jdbc;
&jdbc;
&lisp;
&lisp;
</
P
art>
</
p
art>
<part
I
d="part-developer">
<part
i
d="part-developer">
<
Title>Developer's Guide</T
itle>
<
title>Developer's Guide</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
The Developer's Guide includes discussion of design decisions and
The Developer's Guide includes discussion of design decisions and
suggestions for future development.
suggestions for future development.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
&sources;
&sources;
&arch-dev;
&arch-dev;
&options;
&options;
&geqo;
&geqo;
<!--
This listing of Postgres catalogs is currently just a copy of the old
man page. It is not up to date and has not been marked up for SGML.
- thomas 2000-04-20
&catalogs;
-->
&protocol;
&protocol;
&signals;
&signals;
&compiler;
&compiler;
&bki;
&bki;
&page;
&page;
</
P
art>
</
p
art>
<part
I
d="part-tutorial">
<part
i
d="part-tutorial">
<
Title>Tutorial</T
itle>
<
title>Tutorial</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
Introduction for new users.
Introduction for new users.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
&sql;
&sql;
&arch;
&arch;
&start;
&start;
&query;
&query;
&advanced;
&advanced;
</
P
art>
</
p
art>
<part
I
d="part-appendix">
<part
i
d="part-appendix">
<
Title>Appendices</T
itle>
<
title>Appendices</t
itle>
<
PartI
ntro>
<
parti
ntro>
<
P
ara>
<
p
ara>
Additional related information.
Additional related information.
</
P
ara>
</
p
ara>
</
PartI
ntro>
</
parti
ntro>
&datetime;
&datetime;
&cvs;
&cvs;
...
@@ -328,7 +336,7 @@ Your name here...
...
@@ -328,7 +336,7 @@ Your name here...
&contacts;
&contacts;
-->
-->
&biblio;
&biblio;
</
P
art>
</
p
art>
<!--
<!--
Omit index until we have some index entries.
Omit index until we have some index entries.
...
@@ -337,7 +345,7 @@ Omit index until we have some index entries.
...
@@ -337,7 +345,7 @@ Omit index until we have some index entries.
</index>
</index>
-->
-->
</
B
ook>
</
b
ook>
<!-- Keep this comment at the end of the file
<!-- Keep this comment at the end of the file
Local variables:
Local variables:
...
...
doc/src/sgml/problems.sgml
浏览文件 @
45f79cae
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
<title>Identifying Bugs</title>
<title>Identifying Bugs</title>
<para>
<para>
Before you ask
<quote>Is this a bug?</quote>
, please read and re-read the
Before you ask
"Is this a bug?"
, please read and re-read the
documentation to verify that you can really do whatever it is you are
documentation to verify that you can really do whatever it is you are
trying. If it is not clear from the documentation whether you can do
trying. If it is not clear from the documentation whether you can do
something or not, please report that too; it's a bug in the documentation.
something or not, please report that too; it's a bug in the documentation.
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
<para>
<para>
A program terminates with a fatal signal or an operating system
A program terminates with a fatal signal or an operating system
error message that would point to a problem in the program (a
error message that would point to a problem in the program (a
counterexample might be a
<quote>disk full</quote>
message,
counterexample might be a
"disk full"
message,
since that must be fixed outside of <productname>Postgres</productname>).
since that must be fixed outside of <productname>Postgres</productname>).
</para>
</para>
</listitem>
</listitem>
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
</listitem>
</listitem>
</itemizedlist>
</itemizedlist>
Here
<quote>program</quote>
refers to any executable, not only the backend server.
Here
"<literal>program</literal>"
refers to any executable, not only the backend server.
</para>
</para>
<para>
<para>
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
<para>
<para>
The most important thing to remember about bug reporting is to state all
The most important thing to remember about bug reporting is to state all
the facts and only facts. Do not speculate what you think went wrong, what
the facts and only facts. Do not speculate what you think went wrong, what
<quote>it seemed to do</quote>
, or which part of the program has a fault.
"it seemed to do"
, or which part of the program has a fault.
If you are not familiar with the implementation you would probably guess
If you are not familiar with the implementation you would probably guess
wrong and not help us a bit. And even if you are, educated explanations are
wrong and not help us a bit. And even if you are, educated explanations are
a great supplement to but no substitute for facts. If we are going to fix
a great supplement to but no substitute for facts. If we are going to fix
...
@@ -104,7 +104,7 @@
...
@@ -104,7 +104,7 @@
Reporting the bare facts
Reporting the bare facts
is relatively straightforward (you can probably copy and paste them from the
is relatively straightforward (you can probably copy and paste them from the
screen) but all too often important details are left out because someone
screen) but all too often important details are left out because someone
thought it doesn't matter or the report would
<quote>ring a bell</quote>
thought it doesn't matter or the report would
be understood
anyway.
anyway.
</para>
</para>
...
@@ -134,14 +134,15 @@
...
@@ -134,14 +134,15 @@
please try to isolate the offending queries. We probably won't set up a
please try to isolate the offending queries. We probably won't set up a
web server to reproduce your problem. In any case remember to provide
web server to reproduce your problem. In any case remember to provide
the exact input files, do not guess that the problem happens for
the exact input files, do not guess that the problem happens for
<quote>large files</quote> or <quote>mid-size databases</quote>, etc.
"large files" or "mid-size databases", etc. since this
information is too inexact to be of use.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
The output you got. Please do not say that it
<quote>didn't work</quote>
or
The output you got. Please do not say that it
"didn't work"
or
<quote>failed</quote>
. If there is an error message,
"failed"
. If there is an error message,
show it, even if you don't understand it. If the program terminates with
show it, even if you don't understand it. If the program terminates with
an operating system error, say which. If nothing at all happens, say so.
an operating system error, say which. If nothing at all happens, say so.
Even if the result of your test case is a program crash or otherwise obvious
Even if the result of your test case is a program crash or otherwise obvious
...
@@ -161,12 +162,12 @@
...
@@ -161,12 +162,12 @@
<listitem>
<listitem>
<para>
<para>
The output you expected is very important to state. If you just write
The output you expected is very important to state. If you just write
<quote>This command gives me that output.</quote> or <quote>
This is not
"This command gives me that output." or "
This is not
what I expected.
</quote>
, we might run it ourselves, scan the output, and
what I expected.
"
, we might run it ourselves, scan the output, and
think it looks okay and is exactly what we expected. We shouldn't have to
think it looks okay and is exactly what we expected. We shouldn't have to
spend the time to decode the exact semantics behind your commands.
spend the time to decode the exact semantics behind your commands.
Especially refrain from merely saying that
<quote>
This is not what SQL says/Oracle
Especially refrain from merely saying that
"
This is not what SQL says/Oracle
does.
</quote>
Digging out the correct behavior from <acronym>SQL</acronym>
does.
"
Digging out the correct behavior from <acronym>SQL</acronym>
is not a fun undertaking, nor do we all know how all the other relational
is not a fun undertaking, nor do we all know how all the other relational
databases out there behave. (If your problem is a program crash you can
databases out there behave. (If your problem is a program crash you can
obviously omit this item.)
obviously omit this item.)
...
@@ -191,14 +192,15 @@
...
@@ -191,14 +192,15 @@
<listitem>
<listitem>
<para>
<para>
The
PostgreSQL
version. You can run the command
The
<productname>PostgreSQL</productname>
version. You can run the command
<literal>SELECT version();</literal> to
<literal>SELECT version();</literal> to
find out. If this function does not exist, say so, then we know that
find out what version you are currently running.
If this function does not exist, say so, then we know that
your version is old enough. If you can't start up the server or a
your version is old enough. If you can't start up the server or a
client, look into the README file in the source directory or at the
client, look into the README file in the source directory or at the
name of your distribution file or package name. If your version is older
name of your distribution file or package name. If your version is older
than
6.5
we will almost certainly tell you to upgrade. There are tons
than
7.0
we will almost certainly tell you to upgrade. There are tons
of bug
s in old versions, that's why we write new ones
.
of bug
fixes in each new version, that's why we write them
.
</para>
</para>
<para>
<para>
If you run a pre-packaged version, such as RPMs, say so, including any
If you run a pre-packaged version, such as RPMs, say so, including any
...
@@ -212,7 +214,7 @@
...
@@ -212,7 +214,7 @@
Platform information. This includes the kernel name and version, C library,
Platform information. This includes the kernel name and version, C library,
processor, memory information. In most cases it is sufficient to report
processor, memory information. In most cases it is sufficient to report
the vendor and version, but do not assume everyone knows what exactly
the vendor and version, but do not assume everyone knows what exactly
<quote>Debian</quote>
contains or that everyone runs on Pentiums. If
"Debian"
contains or that everyone runs on Pentiums. If
you have installation problems information about compilers, make, etc.
you have installation problems information about compilers, make, etc.
is also necessary.
is also necessary.
</para>
</para>
...
@@ -235,12 +237,12 @@
...
@@ -235,12 +237,12 @@
<para>
<para>
When writing a bug report, please choose non-confusing terminology.
When writing a bug report, please choose non-confusing terminology.
The software package as such is called
<quote>PostgreSQL</quote>
,
The software package as such is called
"PostgreSQL"
,
sometimes
<quote>Postgres</quote>
for short. (Sometimes
sometimes
"Postgres"
for short. (Sometimes
the abbreviation
<quote>Pgsql</quote>
is used but don't do that.) When you
the abbreviation
"Pgsql"
is used but don't do that.) When you
are specifically talking about the backend server, mention that, don't
are specifically talking about the backend server, mention that, don't
just say
<quote>Postgres crashes</quote>
. The interactive frontend is called
just say
"Postgres crashes"
. The interactive frontend is called
<quote>psql</quote>
and is for all intends and purposes completely separate
"psql"
and is for all intends and purposes completely separate
from the backend.
from the backend.
</para>
</para>
</sect2>
</sect2>
...
@@ -249,35 +251,49 @@
...
@@ -249,35 +251,49 @@
<title>Where to report bugs</title>
<title>Where to report bugs</title>
<para>
<para>
In general, send bug reports to <pgsql-bugs@postgresql.org>. You are
In general, send bug reports to
invited to find a descriptive subject for your email message, perhaps parts
<ulink url="mailto:pgsql-bugs@postgresql.org">the bug report
of the error message.
mailing list</ulink>.
You are invited to find a descriptive subject for your email
message, perhaps parts of the error message.
</para>
</para>
<para>
<para>
Do not send bug reports to any of the user mailing lists, such as
Do not send bug reports to any of the user mailing lists, such as
pgsql-sql or pgsql-general. These mailing lists are for answering
user questions, their subscribers normally do not wish to receive
<ulink url="mailto:pgsql-sql@postgresql.org">the SQL language
mailing list</ulink>
or
<ulink url="mailto:pgsql-general@postgresql.org">the general topics
mailing list</ulink>.
These mailing lists are for answering
user questions and their subscribers normally do not wish to receive
bug reports. More importantly, they are unlikely to fix them.
bug reports. More importantly, they are unlikely to fix them.
</para>
</para>
<para>
<para>
Also, please do <emphasis>not</emphasis> send reports to
Also, please do <emphasis>not</emphasis> send reports to
<pgsql-hackers@postgresql.org>. This list is for discussing the
<ulink url="mailto:pgsql-hackers@postgresql.org">the developers'
development of <productname>PostgreSQL</productname>, it would be nice
mailing list</ulink>.
if we could keep the bug reports separate. We might choose take up a
This list is for discussing the
development of <productname>PostgreSQL</productname> and it would be nice
if we could keep the bug reports separate. We might choose to take up a
discussion
discussion
about your bug report on it, if the bug needs more review.
about your bug report on it, if the bug needs more review.
</para>
</para>
<para>
<para>
If you have a problem with the documentation, send email to
If you have a problem with the documentation, send email to
<pgsql-docs@postgresql.org>. Refer to the document, chapter, and sections.
<ulink url="mailto:pgsql-docs@postgresql.org">the documentation
mailing list</ulink>.
Mention the document, chapter, and sections in your problem report.
</para>
</para>
<para>
<para>
If your bug is a portability problem on a non-supported platform, send
If your bug is a portability problem on a non-supported platform,
mail to <pgsql-ports@postgresql.org>, so we (and you) can work on
send mail to
<ulink url="mailto:pgsql-ports@postgresql.org">the porting issues mail list</ulink>,
so we (and you) can work on
porting <productname>PostgreSQL</productname> to your platform.
porting <productname>PostgreSQL</productname> to your platform.
</para>
</para>
...
@@ -287,10 +303,11 @@
...
@@ -287,10 +303,11 @@
email addresses are closed mailing lists. That is, you need to be
email addresses are closed mailing lists. That is, you need to be
subscribed to them in order to be allowed to post. If you simply
subscribed to them in order to be allowed to post. If you simply
want to send mail but do not want to receive list traffic, you can
want to send mail but do not want to receive list traffic, you can
subscribe to the special pgsql-loophole
<quote>list</quote>
, which
subscribe to the special pgsql-loophole
mailing list
, which
allows you to post to all <productname>PostgreSQL</productname>
allows you to post to all <productname>PostgreSQL</productname>
mailing lists without receiving any messages. Send email to
mailing lists without receiving any messages. Send email to
<pgsql-loophole-request@postgresql.org> to subscribe.
<ulink url="mailto:pgsql-loophole-request@postgresql.org">pgsql-loophole-request@postgresql.org</ulink>
to subscribe.
</para>
</para>
</note>
</note>
</sect2>
</sect2>
...
...
doc/src/sgml/programmer.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/ref/create_database.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.1
3 2000/03/27 17:14:42
thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.1
4 2000/05/02 20:02:03
thomas Exp $
Postgres documentation
Postgres documentation
-->
-->
...
@@ -132,7 +132,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable> [ WITH LOCATIO
...
@@ -132,7 +132,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable> [ WITH LOCATIO
</varlistentry>
</varlistentry>
<varlistentry>
<varlistentry>
<term><computeroutput>ERROR: Unable to create database directory '
xxx
'.</computeroutput></term>
<term><computeroutput>ERROR: Unable to create database directory '
<replaceable>path</replaceable>
'.</computeroutput></term>
<term><computeroutput>ERROR: Could not initialize database directory.</computeroutput></term>
<term><computeroutput>ERROR: Could not initialize database directory.</computeroutput></term>
<listitem>
<listitem>
<para>
<para>
...
@@ -164,8 +164,8 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable> [ WITH LOCATIO
...
@@ -164,8 +164,8 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable> [ WITH LOCATIO
<para>
<para>
An alternate location can be specified in order to,
An alternate location can be specified in order to,
for example, store the database on a different disk.
for example, store the database on a different disk.
The path must have been prepared with the
<xref
The path must have been prepared with the
linkend="APP-INITLOCATION" endterm="APP-INITLOCATION-title">
<xref
linkend="APP-INITLOCATION" endterm="APP-INITLOCATION-title">
command.
command.
</para>
</para>
<para>
<para>
...
...
doc/src/sgml/ref/create_index.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_index.sgml,v 1.1
2 2000/04/23 02:08:33 tgl
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_index.sgml,v 1.1
3 2000/05/02 20:02:03 thomas
Exp $
Postgres documentation
Postgres documentation
-->
-->
...
@@ -227,6 +227,11 @@ ERROR: Cannot create index: 'index_name' already exists.
...
@@ -227,6 +227,11 @@ ERROR: Cannot create index: 'index_name' already exists.
access methods).
access methods).
</para>
</para>
<para>
Use <xref linkend="sql-dropindex-title" endterm="sql-dropindex-title">
to remove an index.
</para>
<refsect2 id="R2-SQL-CREATEINDEX-3">
<refsect2 id="R2-SQL-CREATEINDEX-3">
<refsect2info>
<refsect2info>
<date>1998-09-09</date>
<date>1998-09-09</date>
...
@@ -339,11 +344,6 @@ SELECT am.amname AS acc_name,
...
@@ -339,11 +344,6 @@ SELECT am.amname AS acc_name,
</refsect2>
</refsect2>
</refsect1>
</refsect1>
<para>
Use <xref linkend="sql-dropindex-title" endterm="sql-dropindex-title">
to remove an index.
</para>
<refsect1 id="R1-SQL-CREATEINDEX-2">
<refsect1 id="R1-SQL-CREATEINDEX-2">
<title>
<title>
Usage
Usage
...
...
doc/src/sgml/ref/create_table.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/ref/initdb.sgml
浏览文件 @
45f79cae
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.1
0 2000/03/27 17:14:4
3 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.1
1 2000/05/02 20:02:0
3 thomas Exp $
Postgres documentation
Postgres documentation
-->
-->
...
@@ -24,11 +24,11 @@ Postgres documentation
...
@@ -24,11 +24,11 @@ Postgres documentation
</refsynopsisdivinfo>
</refsynopsisdivinfo>
<synopsis>
<synopsis>
initdb [ --pgdata|-D <replaceable class="parameter">dbdir</replaceable> ]
initdb [ --pgdata|-D <replaceable class="parameter">dbdir</replaceable> ]
[ --sysid|-i <replaceable class="parameter">sysid</replaceable> ]
[ --sysid|-i <replaceable class="parameter">sysid</replaceable> ]
[ --pwprompt|-W ]
[ --pwprompt|-W ]
[ --encoding|-E <replaceable class="parameter">encoding</replaceable> ]
[ --encoding|-E <replaceable class="parameter">encoding</replaceable> ]
[ --pglib|-L <replaceable class="parameter">libdir</replaceable> ]
[ --pglib|-L <replaceable class="parameter">libdir</replaceable> ]
[ --noclean | -n ] [ --debug | -d ] [ --template | -t ]
[ --noclean | -n ] [ --debug | -d ] [ --template | -t ]
</synopsis>
</synopsis>
<refsect2 id="R2-APP-INITDB-1">
<refsect2 id="R2-APP-INITDB-1">
...
...
doc/src/sgml/ref/pgctl-ref.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/ref/postmaster.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/ref/vacuumdb.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/reference.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/regress.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/release.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/rules.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/runtime.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/signals.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/spi.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/sql.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/start.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/syntax.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/trigger.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/tutorial.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/typeconv.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/user.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/xfunc.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/xtypes.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
doc/src/sgml/y2k.sgml
浏览文件 @
45f79cae
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录