Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
3c879e37
Commit
3c879e37
authored
Nov 12, 2001
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add some more index entries.
parent
3a306eef
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
185 additions
and
68 deletions
+185
-68
doc/src/sgml/backup.sgml
doc/src/sgml/backup.sgml
+4
-1
doc/src/sgml/charset.sgml
doc/src/sgml/charset.sgml
+8
-1
doc/src/sgml/client-auth.sgml
doc/src/sgml/client-auth.sgml
+5
-2
doc/src/sgml/dfunc.sgml
doc/src/sgml/dfunc.sgml
+30
-19
doc/src/sgml/ecpg.sgml
doc/src/sgml/ecpg.sgml
+6
-2
doc/src/sgml/libpq.sgml
doc/src/sgml/libpq.sgml
+35
-20
doc/src/sgml/lobj.sgml
doc/src/sgml/lobj.sgml
+6
-1
doc/src/sgml/maintenance.sgml
doc/src/sgml/maintenance.sgml
+14
-1
doc/src/sgml/manage-ag.sgml
doc/src/sgml/manage-ag.sgml
+5
-2
doc/src/sgml/monitoring.sgml
doc/src/sgml/monitoring.sgml
+10
-1
doc/src/sgml/odbc.sgml
doc/src/sgml/odbc.sgml
+5
-2
doc/src/sgml/plpython.sgml
doc/src/sgml/plpython.sgml
+4
-1
doc/src/sgml/rules.sgml
doc/src/sgml/rules.sgml
+13
-10
doc/src/sgml/runtime.sgml
doc/src/sgml/runtime.sgml
+27
-1
doc/src/sgml/xfunc.sgml
doc/src/sgml/xfunc.sgml
+13
-4
No files found.
doc/src/sgml/backup.sgml
View file @
3c879e37
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.1
7 2001/10/04 04:46:43 momjian
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.1
8 2001/11/12 19:19:39 petere
Exp $ -->
<chapter id="backup">
<chapter id="backup">
<title>Backup and Restore</title>
<title>Backup and Restore</title>
<indexterm zone="backup"><primary>backup</></>
<para>
<para>
As everything that contains valuable data, <productname>Postgres</>
As everything that contains valuable data, <productname>Postgres</>
databases should be backed up regularly. While the procedure is
databases should be backed up regularly. While the procedure is
...
@@ -363,6 +365,7 @@ tar -cf backup.tar /usr/local/pgsql/data
...
@@ -363,6 +365,7 @@ tar -cf backup.tar /usr/local/pgsql/data
<sect1 id="migration">
<sect1 id="migration">
<title>Migration between releases</title>
<title>Migration between releases</title>
<indexterm zone="migration"><primary>upgrading</></>
<para>
<para>
As a general rule, the internal data storage format is subject to
As a general rule, the internal data storage format is subject to
...
...
doc/src/sgml/charset.sgml
View file @
3c879e37
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.1
3 2001/10/31 20:35:01
petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.1
4 2001/11/12 19:19:39
petere Exp $ -->
<chapter id="charset">
<chapter id="charset">
<title>Localization</>
<title>Localization</>
...
@@ -49,6 +49,8 @@
...
@@ -49,6 +49,8 @@
<sect1 id="locale">
<sect1 id="locale">
<title>Locale Support</title>
<title>Locale Support</title>
<indexterm zone="locale"><primary>locale</></>
<para>
<para>
<firstterm>Locale</> support refers to an application respecting
<firstterm>Locale</> support refers to an application respecting
cultural preferences regarding alphabets, sorting, number
cultural preferences regarding alphabets, sorting, number
...
@@ -171,6 +173,7 @@ export LANG=sv_SE
...
@@ -171,6 +173,7 @@ export LANG=sv_SE
<listitem>
<listitem>
<para>
<para>
Sort order in <command>ORDER BY</> queries.
Sort order in <command>ORDER BY</> queries.
<indexterm><primary>ORDER BY</></>
</para>
</para>
</listitem>
</listitem>
...
@@ -243,6 +246,8 @@ perl: warning: Falling back to the standard locale ("C").
...
@@ -243,6 +246,8 @@ perl: warning: Falling back to the standard locale ("C").
<sect1 id="multibyte">
<sect1 id="multibyte">
<title>Multibyte Support</title>
<title>Multibyte Support</title>
<indexterm zone="multibyte"><primary>multibyte</></>
<note>
<note>
<title>Author</title>
<title>Author</title>
...
@@ -586,6 +591,8 @@ RESET CLIENT_ENCODING;
...
@@ -586,6 +591,8 @@ RESET CLIENT_ENCODING;
<sect2>
<sect2>
<title>About Unicode</title>
<title>About Unicode</title>
<indexterm><primary>Unicode</></>
<para>
<para>
An automatic encoding translation between Unicode and other
An automatic encoding translation between Unicode and other
encodings has been supported since PostgreSQL 7.1.
encodings has been supported since PostgreSQL 7.1.
...
...
doc/src/sgml/client-auth.sgml
View file @
3c879e37
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.2
5 2001/11/12 02:35:16 momjian
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.2
6 2001/11/12 19:19:39 petere
Exp $ -->
<chapter id="client-authentication">
<chapter id="client-authentication">
<title>Client Authentication</title>
<title>Client Authentication</title>
...
@@ -423,12 +423,15 @@ host all 192.168.0.0 255.255.0.0 ident omicron
...
@@ -423,12 +423,15 @@ host all 192.168.0.0 255.255.0.0 ident omicron
The following describes the authentication methods in detail.
The following describes the authentication methods in detail.
</para>
</para>
<sect2>
<sect2
id="auth-password"
>
<title>Password authentication</title>
<title>Password authentication</title>
<indexterm>
<indexterm>
<primary>password</primary>
<primary>password</primary>
</indexterm>
</indexterm>
<indexterm>
<primary>MD5</>
</indexterm>
<para>
<para>
<productname>Postgres</> database passwords are separate from any
<productname>Postgres</> database passwords are separate from any
...
...
doc/src/sgml/dfunc.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.1
5 2001/10/26 19:58:12 tgl
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.1
6 2001/11/12 19:19:39 petere
Exp $
-->
-->
<sect2 id="dfunc">
<sect2 id="dfunc">
...
@@ -25,6 +25,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.15 2001/10/26 19:58:12 tgl E
...
@@ -25,6 +25,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.15 2001/10/26 19:58:12 tgl E
</para>
</para>
<para>
<para>
<indexterm><primary>PIC</></>
Creating shared libraries is generally analoguous to linking
Creating shared libraries is generally analoguous to linking
executables: first the source files are compiled into object files,
executables: first the source files are compiled into object files,
then the object files are linked together. The object files need to
then the object files are linked together. The object files need to
...
@@ -57,6 +58,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.15 2001/10/26 19:58:12 tgl E
...
@@ -57,6 +58,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.15 2001/10/26 19:58:12 tgl E
<variablelist>
<variablelist>
<varlistentry>
<varlistentry>
<term><productname>BSD/OS</productname></term>
<term><productname>BSD/OS</productname></term>
<indexterm><primary>BSD/OS</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -74,6 +76,7 @@ ld -shared -o foo.so foo.o
...
@@ -74,6 +76,7 @@ ld -shared -o foo.so foo.o
<varlistentry>
<varlistentry>
<term><productname>FreeBSD</productname></term>
<term><productname>FreeBSD</productname></term>
<indexterm><primary>FreeBSD</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -91,6 +94,7 @@ gcc -shared -o foo.so foo.o
...
@@ -91,6 +94,7 @@ gcc -shared -o foo.so foo.o
<varlistentry>
<varlistentry>
<term><productname>HP-UX</productname></term>
<term><productname>HP-UX</productname></term>
<indexterm><primary>HP-UX</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag of the system compiler to create
The compiler flag of the system compiler to create
...
@@ -117,6 +121,7 @@ ld -b -o foo.sl foo.o
...
@@ -117,6 +121,7 @@ ld -b -o foo.sl foo.o
<varlistentry>
<varlistentry>
<term><productname>Irix</productname></term>
<term><productname>Irix</productname></term>
<indexterm><primary>Irix</></>
<listitem>
<listitem>
<para>
<para>
<acronym>PIC</acronym> is the default, no special compiler
<acronym>PIC</acronym> is the default, no special compiler
...
@@ -132,6 +137,7 @@ ld -shared -o foo.so foo.o
...
@@ -132,6 +137,7 @@ ld -shared -o foo.so foo.o
<varlistentry>
<varlistentry>
<term><productname>Linux</productname></term>
<term><productname>Linux</productname></term>
<indexterm><primary>Linux</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -150,6 +156,7 @@ cc -shared -o foo.so foo.o
...
@@ -150,6 +156,7 @@ cc -shared -o foo.so foo.o
<varlistentry>
<varlistentry>
<term><productname>NetBSD</productname></term>
<term><productname>NetBSD</productname></term>
<indexterm><primary>NetBSD</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -167,6 +174,7 @@ gcc -shared -o foo.so foo.o
...
@@ -167,6 +174,7 @@ gcc -shared -o foo.so foo.o
<varlistentry>
<varlistentry>
<term><productname>OpenBSD</productname></term>
<term><productname>OpenBSD</productname></term>
<indexterm><primary>OpenBSD</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -180,26 +188,9 @@ ld -Bshareable -o foo.so foo.o
...
@@ -180,26 +188,9 @@ ld -Bshareable -o foo.so foo.o
</listitem>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>Digital Unix/Tru64 UNIX</term>
<listitem>
<para>
<acronym>PIC</acronym> is the default, so the compilation command
is the usual one. <command>ld</command> with special options is
used to do the linking:
<programlisting>
cc -c foo.c
ld -shared -expect_unresolved '*' -o foo.so foo.o
</programlisting>
The same procedure is used with GCC instead of the system
compiler; no special options are required.
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><productname>Solaris</productname></term>
<term><productname>Solaris</productname></term>
<indexterm><primary>Solaris</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is
The compiler flag to create <acronym>PIC</acronym> is
...
@@ -221,8 +212,28 @@ gcc -G -o foo.so foo.o
...
@@ -221,8 +212,28 @@ gcc -G -o foo.so foo.o
</listitem>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>Tru64 UNIX</term>
<indexterm><primary>Tru64 UNIX</></>
<indexterm><primary>Digital UNIX</><see>Tru64 UNIX</></>
<listitem>
<para>
<acronym>PIC</acronym> is the default, so the compilation command
is the usual one. <command>ld</command> with special options is
used to do the linking:
<programlisting>
cc -c foo.c
ld -shared -expect_unresolved '*' -o foo.so foo.o
</programlisting>
The same procedure is used with GCC instead of the system
compiler; no special options are required.
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><productname>Unixware</productname></term>
<term><productname>Unixware</productname></term>
<indexterm><primary>Unixware</></>
<listitem>
<listitem>
<para>
<para>
The compiler flag to create <acronym>PIC</acronym> is <option>-K
The compiler flag to create <acronym>PIC</acronym> is <option>-K
...
...
doc/src/sgml/ecpg.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.
29 2001/11/08 23:37:50
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.
30 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="ecpg">
<chapter id="ecpg">
...
@@ -28,6 +28,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.29 2001/11/08 23:37:50 petere
...
@@ -28,6 +28,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.29 2001/11/08 23:37:50 petere
<title><application>ecpg</application> - Embedded <acronym>SQL</acronym>
<title><application>ecpg</application> - Embedded <acronym>SQL</acronym>
in <acronym>C</acronym></title>
in <acronym>C</acronym></title>
<indexterm zone="ecpg"><primary>embedded SQL</primary><secondary>in C</secondary></indexterm>
<para>
<para>
This describes the embedded <acronym>SQL</acronym> package for
This describes the embedded <acronym>SQL</acronym> package for
<productname>Postgres</productname>. It works with
<productname>Postgres</productname>. It works with
...
@@ -538,6 +540,7 @@ struct sqlca
...
@@ -538,6 +540,7 @@ struct sqlca
<variablelist>
<variablelist>
<varlistentry>
<varlistentry>
<term>Syntax of FETCH</term>
<term>Syntax of FETCH</term>
<indexterm><primary>FETCH</><secondary>embedded SQL</></indexterm>
<listitem>
<listitem>
<para>
<para>
The standard syntax for FETCH is:
The standard syntax for FETCH is:
...
@@ -546,7 +549,8 @@ struct sqlca
...
@@ -546,7 +549,8 @@ struct sqlca
FETCH [direction] [amount] IN|FROM <replaceable>cursor</replaceable>.
FETCH [direction] [amount] IN|FROM <replaceable>cursor</replaceable>.
</para>
</para>
<para>
<para>
<application>ORACLE</application>, however, does not use the keywords IN
<indexterm><primary>Oracle</></>
<application>Oracle</application>, however, does not use the keywords IN
or FROM. This feature cannot be added since it would create parsing
or FROM. This feature cannot be added since it would create parsing
conflicts.
conflicts.
</para>
</para>
...
...
doc/src/sgml/libpq.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.7
4 2001/10/31 20:39:30
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.7
5 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="libpq">
<chapter id="libpq">
...
@@ -70,7 +70,7 @@ PGconn *PQconnectdb(const char *conninfo)
...
@@ -70,7 +70,7 @@ PGconn *PQconnectdb(const char *conninfo)
This routine opens a new database connection using the parameters taken
This routine opens a new database connection using the parameters taken
from the string <literal>conninfo</literal>. Unlike <function>PQsetdbLogin</> below,
from the string <literal>conninfo</literal>. Unlike <function>PQsetdbLogin</> below,
the parameter set can be extended without changing the function signature,
the parameter set can be extended without changing the function signature,
so use either of this routine or the non
-
blocking analogues <function>PQconnectStart</>
so use either of this routine or the nonblocking analogues <function>PQconnectStart</>
and <function>PQconnectPoll</function> is preferred for application programming. The passed string
and <function>PQconnectPoll</function> is preferred for application programming. The passed string
can be empty to use all default parameters, or it can contain one or more
can be empty to use all default parameters, or it can contain one or more
parameter settings separated by whitespace.
parameter settings separated by whitespace.
...
@@ -106,7 +106,7 @@ PGconn *PQconnectdb(const char *conninfo)
...
@@ -106,7 +106,7 @@ PGconn *PQconnectdb(const char *conninfo)
<para>
<para>
IP address of host to connect to. This should be in standard
IP address of host to connect to. This should be in standard
numbers-and-dots form, as used by the BSD functions <function>inet_aton</> et al. If
numbers-and-dots form, as used by the BSD functions <function>inet_aton</> et al. If
a non
-
zero-length string is specified, TCP/IP communication is used.
a nonzero-length string is specified, TCP/IP communication is used.
</para>
</para>
<para>
<para>
Using <literal>hostaddr</> instead of host allows the application to avoid a host
Using <literal>hostaddr</> instead of host allows the application to avoid a host
...
@@ -244,7 +244,8 @@ PGconn *PQsetdb(char *pghost,
...
@@ -244,7 +244,8 @@ PGconn *PQsetdb(char *pghost,
<para>
<para>
<function>PQconnectStart</function>,
<function>PQconnectStart</function>,
<function>PQconnectPoll</function>
<function>PQconnectPoll</function>
Make a connection to the database server in a non-blocking manner.
<indexterm><primary>nonblocking connection</primary></indexterm>
Make a connection to the database server in a nonblocking manner.
<synopsis>
<synopsis>
PGconn *PQconnectStart(const char *conninfo)
PGconn *PQconnectStart(const char *conninfo)
</synopsis>
</synopsis>
...
@@ -289,7 +290,7 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn)
...
@@ -289,7 +290,7 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn)
</para>
</para>
<para>
<para>
To begin, call <literal>conn=PQconnectStart("
<connection_info_string>
")</literal>.
To begin, call <literal>conn=PQconnectStart("
<replaceable>connection_info_string</>
")</literal>.
If <varname>conn</varname> is NULL, then <application>libpq</> has been unable to allocate a new <structname>PGconn</>
If <varname>conn</varname> is NULL, then <application>libpq</> has been unable to allocate a new <structname>PGconn</>
structure. Otherwise, a valid <structname>PGconn</> pointer is returned (though not yet
structure. Otherwise, a valid <structname>PGconn</> pointer is returned (though not yet
representing a valid connection to the database). On return from
representing a valid connection to the database). On return from
...
@@ -413,7 +414,7 @@ switch(PQstatus(conn))
...
@@ -413,7 +414,7 @@ switch(PQstatus(conn))
</para>
</para>
<para>
<para>
These functions leave the socket in a non
-
blocking state as if
These functions leave the socket in a nonblocking state as if
<function>PQsetnonblocking</function> had been called.
<function>PQsetnonblocking</function> had been called.
</para>
</para>
</listitem>
</listitem>
...
@@ -495,7 +496,7 @@ void PQreset(PGconn *conn)
...
@@ -495,7 +496,7 @@ void PQreset(PGconn *conn)
<para>
<para>
<function>PQresetStart</function>
<function>PQresetStart</function>
<function>PQresetPoll</function>
<function>PQresetPoll</function>
Reset the communication port with the backend, in a non
-
blocking manner.
Reset the communication port with the backend, in a nonblocking manner.
<synopsis>
<synopsis>
int PQresetStart(PGconn *conn);
int PQresetStart(PGconn *conn);
</synopsis>
</synopsis>
...
@@ -506,7 +507,7 @@ PostgresPollingStatusType PQresetPoll(PGconn *conn);
...
@@ -506,7 +507,7 @@ PostgresPollingStatusType PQresetPoll(PGconn *conn);
reestablish a new connection to the same postmaster, using all the same
reestablish a new connection to the same postmaster, using all the same
parameters previously used. This may be useful for error recovery if a
parameters previously used. This may be useful for error recovery if a
working connection is lost. They differ from <function>PQreset</function> (above) in that they
working connection is lost. They differ from <function>PQreset</function> (above) in that they
act in a non
-
blocking manner. These functions suffer from the same
act in a nonblocking manner. These functions suffer from the same
restrictions as <function>PQconnectStart</> and <function>PQconnectPoll</>.
restrictions as <function>PQconnectStart</> and <function>PQconnectPoll</>.
</para>
</para>
<para>
<para>
...
@@ -520,6 +521,8 @@ PostgresPollingStatusType PQresetPoll(PGconn *conn);
...
@@ -520,6 +521,8 @@ PostgresPollingStatusType PQresetPoll(PGconn *conn);
</para>
</para>
<para>
<para>
<indexterm><primary>libpq-fe.h</></>
<indexterm><primary>libpq-int.h</></>
<application>libpq</application> application programmers should be careful to
<application>libpq</application> application programmers should be careful to
maintain the <structname>PGconn</structname> abstraction. Use the accessor functions below to get
maintain the <structname>PGconn</structname> abstraction. Use the accessor functions below to get
at the contents of <structname>PGconn</structname>. Avoid directly referencing the fields of the
at the contents of <structname>PGconn</structname>. Avoid directly referencing the fields of the
...
@@ -529,6 +532,7 @@ definition of struct <structname>PGconn</structname> is not even provided in <fi
...
@@ -529,6 +532,7 @@ definition of struct <structname>PGconn</structname> is not even provided in <fi
If you have old code that accesses <structname>PGconn</structname> fields directly, you can keep using it
If you have old code that accesses <structname>PGconn</structname> 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
soon.)
soon.)
<itemizedlist>
<itemizedlist>
<listitem>
<listitem>
<para>
<para>
...
@@ -640,6 +644,7 @@ ConnStatusType PQstatus(const PGconn *conn)
...
@@ -640,6 +644,7 @@ ConnStatusType PQstatus(const PGconn *conn)
<listitem>
<listitem>
<para>
<para>
<function>PQerrorMessage</function>
<function>PQerrorMessage</function>
<indexterm><primary>error message</></>
Returns the error message most recently generated by
Returns the error message most recently generated by
an operation on the connection.
an operation on the connection.
<synopsis>
<synopsis>
...
@@ -677,6 +682,7 @@ int PQbackendPID(const PGconn *conn);
...
@@ -677,6 +682,7 @@ int PQbackendPID(const PGconn *conn);
<listitem>
<listitem>
<para>
<para>
<function>PQgetssl</function>
<function>PQgetssl</function>
<indexterm><primary>SSL</></>
Returns the SSL structure used in the connection, or NULL
Returns the SSL structure used in the connection, or NULL
if SSL is not in use.
if SSL is not in use.
<synopsis>
<synopsis>
...
@@ -858,30 +864,33 @@ as with a <structname>PGresult</structname> returned by <application>libpq</appl
...
@@ -858,30 +864,33 @@ as with a <structname>PGresult</structname> returned by <application>libpq</appl
<sect2 id="libpq-exec-escape-string">
<sect2 id="libpq-exec-escape-string">
<title>Escaping strings for inclusion in SQL queries</title>
<title>Escaping strings for inclusion in SQL queries</title>
<indexterm zone="libpq-exec-escape-string"><primary>escaping strings</></>
<para>
<para>
<function>PQescapeString</function>
<function>PQescapeString</function>
Escapes a string for use within an SQL query.
Escapes a string for use within an SQL query.
<synopsis>
<synopsis>
size_t PQescapeString (char *to, const char *from, size_t length);
size_t PQescapeString (char *to, const char *from, size_t length);
</synopsis>
</synopsis>
If you want to include strings
which
have been received
If you want to include strings
that
have been received
from a source
which
is not trustworthy (for example, because they were
from a source
that
is not trustworthy (for example, because they were
transmitted across a network), you cannot directly include them in SQL
transmitted across a network), you cannot directly include them in SQL
queries for security reasons. Instead, you have to quote special
queries for security reasons. Instead, you have to quote special
characters
which
are otherwise interpreted by the SQL parser.
characters
that
are otherwise interpreted by the SQL parser.
</para>
</para>
<para>
<para>
<function>PQescapeString</> performs this operation. The
<function>PQescapeString</> performs this operation. The
<parameter>from</> points to the first character of the string
which
<parameter>from</> points to the first character of the string
that
is to be escaped, and the <parameter>length</> parameter counts the
is to be escaped, and the <parameter>length</> parameter counts the
number of characters in this string (a terminating NUL character is
number of characters in this string (a terminating NUL character is
neither necessary nor counted). <parameter>to</> shall point to a
neither necessary nor counted). <parameter>to</> shall point to a
buffer
which
is able to hold at least one more character than twice
buffer
that
is able to hold at least one more character than twice
the value of <parameter>length</>, otherwise the behavior is
the value of <parameter>length</>, otherwise the behavior is
undefined. A call to <function>PQescapeString</> writes an escaped
undefined. A call to <function>PQescapeString</> writes an escaped
version of the <parameter>from</> string to the <parameter>to</>
version of the <parameter>from</> string to the <parameter>to</>
buffer, replacing special characters so that they cannot cause any
buffer, replacing special characters so that they cannot cause any
harm, and adding a terminating NUL character. The single quotes
which
harm, and adding a terminating NUL character. The single quotes
that
must surround PostgreSQL string literals are not part of the result
must surround PostgreSQL string literals are not part of the result
string.
string.
</para>
</para>
...
@@ -1175,6 +1184,8 @@ and is not thread-safe.
...
@@ -1175,6 +1184,8 @@ and is not thread-safe.
<sect1 id="libpq-async">
<sect1 id="libpq-async">
<title>Asynchronous Query Processing</title>
<title>Asynchronous Query Processing</title>
<indexterm zone="libpq-async"><primary>nonblocking connection</></>
<para>
<para>
The <function>PQexec</function> function is adequate for submitting queries in
The <function>PQexec</function> function is adequate for submitting queries in
simple synchronous
simple synchronous
...
@@ -1220,7 +1231,7 @@ was added.
...
@@ -1220,7 +1231,7 @@ was added.
<para>
<para>
Old applications can neglect to use <function>PQsetnonblocking</function>
Old applications can neglect to use <function>PQsetnonblocking</function>
and get the older potentially blocking behavior. Newer programs can use
and get the older potentially blocking behavior. Newer programs can use
<function>PQsetnonblocking</function> to achieve a completely non
-
blocking
<function>PQsetnonblocking</function> to achieve a completely nonblocking
connection to the backend.
connection to the backend.
<itemizedlist>
<itemizedlist>
...
@@ -1260,7 +1271,7 @@ int PQsetnonblocking(PGconn *conn, int arg)
...
@@ -1260,7 +1271,7 @@ int PQsetnonblocking(PGconn *conn, int arg)
<synopsis>
<synopsis>
int PQisnonblocking(const PGconn *conn)
int PQisnonblocking(const PGconn *conn)
</synopsis>
</synopsis>
Returns 1 if the connection is set to non
-
blocking mode,
Returns 1 if the connection is set to nonblocking mode,
0 if blocking.
0 if blocking.
</para>
</para>
</listitem>
</listitem>
...
@@ -1368,7 +1379,7 @@ some reason.
...
@@ -1368,7 +1379,7 @@ some reason.
<synopsis>
<synopsis>
int PQflush(PGconn *conn);
int PQflush(PGconn *conn);
</synopsis>
</synopsis>
<function>PQflush</function> needs to be called on a non
-
blocking connection
<function>PQflush</function> needs to be called on a nonblocking connection
before calling <function>select</function> to determine if a response has
before calling <function>select</function> to determine if a response has
arrived. If 0 is returned it ensures that there is no data queued to the
arrived. If 0 is returned it ensures that there is no data queued to the
backend that has not actually been sent. Only applications that have used
backend that has not actually been sent. Only applications that have used
...
@@ -1395,7 +1406,7 @@ data; after which, <function>PQisBusy</function>, <function>PQgetResult</functio
...
@@ -1395,7 +1406,7 @@ data; after which, <function>PQisBusy</function>, <function>PQgetResult</functio
and/or <function>PQnotifies</function> can be used to process the response.
and/or <function>PQnotifies</function> can be used to process the response.
</para>
</para>
<para>
<para>
Non
-
blocking connections (that have used <function>PQsetnonblocking</function>)
Nonblocking connections (that have used <function>PQsetnonblocking</function>)
should not use <function>select</function> until <function>PQflush</function>
should not use <function>select</function> until <function>PQflush</function>
has returned 0 indicating that there is no buffered data waiting to be sent
has returned 0 indicating that there is no buffered data waiting to be sent
to the backend.
to the backend.
...
@@ -1525,6 +1536,8 @@ typedef struct {
...
@@ -1525,6 +1536,8 @@ typedef struct {
<sect1 id="libpq-notify">
<sect1 id="libpq-notify">
<title>Asynchronous Notification</title>
<title>Asynchronous Notification</title>
<indexterm zone="libpq-notify"><primary>NOTIFY</primary></indexterm>
<para>
<para>
<productname>PostgreSQL</productname> supports asynchronous notification via the
<productname>PostgreSQL</productname> supports asynchronous notification via the
<command>LISTEN</command> and <command>NOTIFY</command> commands. A backend registers its interest in a particular
<command>LISTEN</command> and <command>NOTIFY</command> commands. A backend registers its interest in a particular
...
@@ -1828,14 +1841,14 @@ void PQuntrace(PGconn *conn)
...
@@ -1828,14 +1841,14 @@ void PQuntrace(PGconn *conn)
</sect1>
</sect1>
<sect1 id="libpq-control">
<sect1 id="libpq-control">
<title>
<title><application>libpq</application> Control Functions</title>
<application>libpq</application> Control Functions</title>
<para>
<para>
<itemizedlist>
<itemizedlist>
<listitem>
<listitem>
<para>
<para>
<function>PQsetNoticeProcessor</function>
<function>PQsetNoticeProcessor</function>
<indexterm><primary>notice processor</></>
Control reporting of notice and warning messages generated by libpq.
Control reporting of notice and warning messages generated by libpq.
<synopsis>
<synopsis>
typedef void (*PQnoticeProcessor) (void *arg, const char *message);
typedef void (*PQnoticeProcessor) (void *arg, const char *message);
...
@@ -2106,6 +2119,7 @@ CPPFLAGS += -I/usr/local/pgsql/include
...
@@ -2106,6 +2119,7 @@ CPPFLAGS += -I/usr/local/pgsql/include
</para>
</para>
<para>
<para>
<indexterm><primary>pg_config</></>
If there is any chance that your program might be compiled by
If there is any chance that your program might be compiled by
other users then you should not hardcode the directory location
other users then you should not hardcode the directory location
like that. Instead, you can run the utility
like that. Instead, you can run the utility
...
@@ -2171,6 +2185,7 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
...
@@ -2171,6 +2185,7 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
</para>
</para>
<para>
<para>
<indexterm><primary>libpq-int.h</></>
If your codes references the header file
If your codes references the header file
<filename>libpq-int.h</filename> and you refuse to fix your code to
<filename>libpq-int.h</filename> and you refuse to fix your code to
not use it, starting in PostgreSQL 7.2, this file will be found in
not use it, starting in PostgreSQL 7.2, this file will be found in
...
...
doc/src/sgml/lobj.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.2
3 2001/10/09 18:46:00
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.2
4 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="largeObjects">
<chapter id="largeObjects">
<title id="largeObjects-title">Large Objects</title>
<title id="largeObjects-title">Large Objects</title>
<indexterm zone="largeobjects"><primary>large object</></>
<indexterm><primary>BLOB</><see>large object</></>
<sect1 id="lo-intro">
<sect1 id="lo-intro">
<title>Introduction</title>
<title>Introduction</title>
...
@@ -41,6 +44,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.23 2001/10/09 18:46:00 petere
...
@@ -41,6 +44,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/lobj.sgml,v 1.23 2001/10/09 18:46:00 petere
</para>
</para>
<para>
<para>
<indexterm><primary>TOAST</></>
<indexterm><primary>sliced bread</><see>TOAST</></indexterm>
<productname>PostgreSQL 7.1</productname> introduced a mechanism
<productname>PostgreSQL 7.1</productname> introduced a mechanism
(nicknamed <quote><acronym>TOAST</acronym></quote>) that allows
(nicknamed <quote><acronym>TOAST</acronym></quote>) that allows
data rows to be much larger than individual data pages. This
data rows to be much larger than individual data pages. This
...
...
doc/src/sgml/maintenance.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.
5 2001/10/12 23:32:34 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.
6 2001/11/12 19:19:39 petere
Exp $
-->
-->
<chapter id="maintenance">
<chapter id="maintenance">
...
@@ -52,6 +52,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
...
@@ -52,6 +52,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
<sect1 id="routine-vacuuming">
<sect1 id="routine-vacuuming">
<title>Routine Vacuuming</title>
<title>Routine Vacuuming</title>
<indexterm zone="routine-vacuuming">
<primary>vacuum</primary>
</indexterm>
<para>
<para>
<productname>PostgreSQL</productname>'s <command>VACUUM</> command must be
<productname>PostgreSQL</productname>'s <command>VACUUM</> command must be
run on a regular basis for several reasons:
run on a regular basis for several reasons:
...
@@ -93,6 +97,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
...
@@ -93,6 +97,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
<sect2 id="vacuum-for-space-recovery">
<sect2 id="vacuum-for-space-recovery">
<title>Recovering disk space</title>
<title>Recovering disk space</title>
<indexterm zone="vacuum-for-space-recovery">
<primary>disk space</primary>
</indexterm>
<para>
<para>
In normal <productname>PostgreSQL</productname> operation, an UPDATE or
In normal <productname>PostgreSQL</productname> operation, an UPDATE or
DELETE of a row does not immediately remove the old <firstterm>tuple</>
DELETE of a row does not immediately remove the old <firstterm>tuple</>
...
@@ -219,6 +227,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
...
@@ -219,6 +227,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.5 2001/10/12 23:32:34
<sect2 id="vacuum-for-wraparound">
<sect2 id="vacuum-for-wraparound">
<title>Preventing transaction ID wraparound failures</title>
<title>Preventing transaction ID wraparound failures</title>
<indexterm zone="vacuum-for-wraparound">
<primary>transaction ID</primary>
<secondary>wraparound</secondary>
</indexterm>
<para>
<para>
<productname>PostgreSQL</productname>'s MVCC transaction semantics
<productname>PostgreSQL</productname>'s MVCC transaction semantics
depend on being able to compare transaction ID (<firstterm>XID</>)
depend on being able to compare transaction ID (<firstterm>XID</>)
...
...
doc/src/sgml/manage-ag.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.1
6 2001/10/09 18:46:00
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.1
7 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="managing-databases">
<chapter id="managing-databases">
<title>Managing Databases</title>
<title>Managing Databases</title>
<indexterm zone="managing-databases"><primary>database</></>
<para>
<para>
A database is a named collection of SQL objects (<quote>database
A database is a named collection of SQL objects (<quote>database
objects</quote>); every database object (tables, function, etc.)
objects</quote>); every database object (tables, function, etc.)
...
@@ -53,7 +55,7 @@ CREATE DATABASE <replaceable>name</>
...
@@ -53,7 +55,7 @@ CREATE DATABASE <replaceable>name</>
</para>
</para>
<formalpara>
<formalpara>
<title>Bootstrapping</title>
<title>Bootstrapping
:
</title>
<para>
<para>
Since you need to be connected to the database server in order to
Since you need to be connected to the database server in order to
execute the <command>CREATE DATABASE</command> command, the
execute the <command>CREATE DATABASE</command> command, the
...
@@ -140,6 +142,7 @@ setenv PGDATA2 /home/postgres/data
...
@@ -140,6 +142,7 @@ setenv PGDATA2 /home/postgres/data
</para>
</para>
<para>
<para>
<indexterm><primary>initlocation</></>
To create a data storage area in <envar>PGDATA2</>, ensure that
To create a data storage area in <envar>PGDATA2</>, ensure that
<filename>/home/postgres</filename> already exists and is writable
<filename>/home/postgres</filename> already exists and is writable
by the user account that runs the server (see <xref
by the user account that runs the server (see <xref
...
...
doc/src/sgml/monitoring.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.
3 2001/11/08 23:39:22
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.
4 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="monitoring">
<chapter id="monitoring">
...
@@ -27,6 +27,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.3 2001/11/08 23:39:22 p
...
@@ -27,6 +27,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.3 2001/11/08 23:39:22 p
<sect1 id="monitoring-ps">
<sect1 id="monitoring-ps">
<title>Standard Unix Tools</Title>
<title>Standard Unix Tools</Title>
<indexterm zone="monitoring-ps">
<primary>ps</primary>
<secondary>to monitor activity</secondary>
</indexterm>
<para>
<para>
On most platforms, <productname>PostgreSQL</productname> modifies its
On most platforms, <productname>PostgreSQL</productname> modifies its
command title as reported by <command>ps</>, so that individual server
command title as reported by <command>ps</>, so that individual server
...
@@ -72,6 +77,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
...
@@ -72,6 +77,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
<sect1 id="monitoring-stats">
<sect1 id="monitoring-stats">
<title>Statistics Collector</Title>
<title>Statistics Collector</Title>
<indexterm zone="monitoring-stats">
<primary>statistics</primary>
</indexterm>
<para>
<para>
<productname>PostgreSQL</productname>'s <firstterm>statistics collector</>
<productname>PostgreSQL</productname>'s <firstterm>statistics collector</>
is a subsystem that supports collection and reporting of information about
is a subsystem that supports collection and reporting of information about
...
...
doc/src/sgml/odbc.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.2
6 2001/10/31 20:39:30
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.2
7 2001/11/12 19:19:39
petere Exp $
-->
-->
<chapter id="odbc">
<chapter id="odbc">
...
@@ -146,6 +146,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.26 2001/10/31 20:39:30
...
@@ -146,6 +146,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/odbc.sgml,v 1.26 2001/10/31 20:39:30
</para>
</para>
<para>
<para>
<indexterm><primary>odbc.sql</></>
Additionally, you should install the ODBC catalog extensions. That will
Additionally, you should install the ODBC catalog extensions. That will
provide a number of functions mandated by the ODBC standard that are not
provide a number of functions mandated by the ODBC standard that are not
supplied by <productname>PostgreSQL</> by default. The file
supplied by <productname>PostgreSQL</> by default. The file
...
@@ -166,6 +167,8 @@ psql -d template1 -f <replaceable>LOCATION</>/odbc.sql
...
@@ -166,6 +167,8 @@ psql -d template1 -f <replaceable>LOCATION</>/odbc.sql
<sect1 id="odbc-config">
<sect1 id="odbc-config">
<title>Configuration Files</title>
<title>Configuration Files</title>
<indexterm zone="odbc-config"><primary>.odbc.ini</></>
<para>
<para>
<filename>~/.odbc.ini</filename> contains user-specified access information
<filename>~/.odbc.ini</filename> contains user-specified access information
for the <productname>psqlODBC</productname> driver.
for the <productname>psqlODBC</productname> driver.
...
@@ -308,7 +311,7 @@ InstallDir = /opt/applix/axdata/axshlib
...
@@ -308,7 +311,7 @@ InstallDir = /opt/applix/axdata/axshlib
<para>
<para>
Playing around with MS Access will help you sort this out. Try using
Playing around with MS Access will help you sort this out. Try using
<
literal>File->Get External Data</literal
>.
<
menuchoice><guimenu>File</><guimenuitem>Get External Data</></menuchoice
>.
</para>
</para>
<tip>
<tip>
...
...
doc/src/sgml/plpython.sgml
View file @
3c879e37
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/plpython.sgml,v 1.
4 2001/09/13 15:55:23
petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/plpython.sgml,v 1.
5 2001/11/12 19:19:39
petere Exp $ -->
<chapter id="plpython">
<chapter id="plpython">
<title>PL/Python - Python Procedural Language</title>
<title>PL/Python - Python Procedural Language</title>
<indexterm zone="plpython"><primary>PL/Python</></>
<indexterm zone="plpython"><primary>Python</></>
<note>
<note>
<para>
<para>
This chapter is not fully developed yet.
This chapter is not fully developed yet.
...
...
doc/src/sgml/rules.sgml
View file @
3c879e37
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/rules.sgml,v 1.1
7 2001/09/13 15:55:23
petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/rules.sgml,v 1.1
8 2001/11/12 19:19:39
petere Exp $ -->
<Chapter Id="rules">
<Chapter Id="rules">
<Title>The
<ProductName>Postgres</ProductName>
Rule System</Title>
<Title>The Rule System</Title>
<indexterm zone="rules">
<indexterm zone="rules">
<primary>rules</primary>
<primary>rules</primary>
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
them. Some of these points and
them. Some of these points and
the theoretical foundations of the <ProductName>Postgres</ProductName>
the theoretical foundations of the <ProductName>Postgres</ProductName>
rule system can be found in
rule system can be found in
[<XRef LinkEnd="STON90b" EndTerm="STON90b">]
.
<XRef LinkEnd="STON90b">
.
</Para>
</Para>
<Para>
<Para>
...
@@ -38,9 +38,9 @@
...
@@ -38,9 +38,9 @@
is very powerful, and can be used for many things such
is very powerful, and can be used for many things such
as query language procedures, views, and versions. The
as query language procedures, views, and versions. The
power of this rule system is discussed in
power of this rule system is discussed in
[<XRef LinkEnd="ONG90" EndTerm="ONG90">]
<XRef LinkEnd="ONG90">
as well as
as well as
[<XRef LinkEnd="STON90b" EndTerm="STON90b">]
.
<XRef LinkEnd="STON90b">
.
</para>
</para>
<Sect1 id="querytree">
<Sect1 id="querytree">
<Title>What is a Query Tree?</Title>
<Title>What is a Query Tree?</Title>
...
@@ -110,6 +110,7 @@
...
@@ -110,6 +110,7 @@
<Term>
<Term>
the range table
the range table
</Term>
</Term>
<indexterm><primary>range table</></>
<ListItem>
<ListItem>
<Para>
<Para>
The range table is a list of relations that are used in the query.
The range table is a list of relations that are used in the query.
...
@@ -264,6 +265,7 @@
...
@@ -264,6 +265,7 @@
<Sect1 id="rules-views">
<Sect1 id="rules-views">
<Title>Views and the Rule System</Title>
<Title>Views and the Rule System</Title>
<indexterm zone="rules-views"><primary>rules</><secondary>and views</></>
<Sect2>
<Sect2>
<Title>Implementation of Views in <ProductName>Postgres</ProductName></Title>
<Title>Implementation of Views in <ProductName>Postgres</ProductName></Title>
...
@@ -831,8 +833,9 @@
...
@@ -831,8 +833,9 @@
</Sect3>
</Sect3>
</Sect2>
</Sect2>
<Sect2>
<Sect2
id="rules-views-update"
>
<Title>What about updating a view?</Title>
<Title>What about updating a view?</Title>
<indexterm zone="rules-views-update"><primary>views</><secondary>updating</></>
<Para>
<Para>
What happens if a view is named as the target relation for an INSERT,
What happens if a view is named as the target relation for an INSERT,
...
@@ -1688,15 +1691,15 @@ Merge Join
...
@@ -1688,15 +1691,15 @@ Merge Join
I think there are only a few situations out in the real
I think there are only a few situations out in the real
world, where such a construct is necessary. But
world, where such a construct is necessary. But
it makes me feel comfortable that it works.
it makes me feel comfortable that it works.
</Para>
<
Note
>
<
formalpara
>
<Title>The truth is</Title>
<Title>The truth is
:
</Title>
<Para>
<Para>
Doing this I found one more bug while writing this document.
Doing this I found one more bug while writing this document.
But after fixing that I was a little amazed that it works at all.
But after fixing that I was a little amazed that it works at all.
</Para>
</Para>
</Note>
</formalpara>
</Para>
</Sect2>
</Sect2>
</Sect1>
</Sect1>
...
...
doc/src/sgml/runtime.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.9
3 2001/11/08 23:39:22
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.9
4 2001/11/12 19:19:39
petere Exp $
-->
-->
<Chapter Id="runtime">
<Chapter Id="runtime">
...
@@ -119,6 +119,7 @@ postgres> <userinput>initdb -D /usr/local/pgsql/data</userinput>
...
@@ -119,6 +119,7 @@ postgres> <userinput>initdb -D /usr/local/pgsql/data</userinput>
</para>
</para>
<para>
<para>
<indexterm><primary>LC_COLLATE</></>
One surprise you might encounter while running <command>initdb</command> is
One surprise you might encounter while running <command>initdb</command> is
a notice similar to this one:
a notice similar to this one:
<screen>
<screen>
...
@@ -238,6 +239,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
...
@@ -238,6 +239,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
For <productname>FreeBSD</productname>, take a look at the file
For <productname>FreeBSD</productname>, take a look at the file
<filename>contrib/start-scripts/freebsd</filename> in the
<filename>contrib/start-scripts/freebsd</filename> in the
<productname>PostgreSQL</productname> source distribution.
<productname>PostgreSQL</productname> source distribution.
<indexterm><primary>FreeBSD</></>
</para>
</para>
</listitem>
</listitem>
...
@@ -245,6 +247,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
...
@@ -245,6 +247,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
<para>
<para>
On <productname>OpenBSD</productname>, add the following lines
On <productname>OpenBSD</productname>, add the following lines
to the file <filename>/etc/rc.local</filename>:
to the file <filename>/etc/rc.local</filename>:
<indexterm><primary>OpenBSD</></>
<programlisting>
<programlisting>
if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postmaster ]; then
if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postmaster ]; then
su - -c '/usr/local/pgsql/bin/pg_ctl start -l /var/postgresql/log -s' postgres
su - -c '/usr/local/pgsql/bin/pg_ctl start -l /var/postgresql/log -s' postgres
...
@@ -257,6 +260,7 @@ fi
...
@@ -257,6 +260,7 @@ fi
<listitem>
<listitem>
<para>
<para>
On <productname>Linux</productname> systems either add
On <productname>Linux</productname> systems either add
<indexterm><primary>Linux</></>
<programlisting>
<programlisting>
/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data
</programlisting>
</programlisting>
...
@@ -274,6 +278,7 @@ fi
...
@@ -274,6 +278,7 @@ fi
<productname>Linux</productname> start scripts, depending on
<productname>Linux</productname> start scripts, depending on
preference, as an example and place the file at
preference, as an example and place the file at
<filename>/usr/local/etc/rc.d/postgresql</filename>.
<filename>/usr/local/etc/rc.d/postgresql</filename>.
<indexterm><primary>NetBSD</></>
</para>
</para>
</listitem>
</listitem>
...
@@ -282,6 +287,7 @@ fi
...
@@ -282,6 +287,7 @@ fi
On <productname>Solaris</productname>, create a file called
On <productname>Solaris</productname>, create a file called
<filename>/etc/init.d/postgresql</filename> to contain the following
<filename>/etc/init.d/postgresql</filename> to contain the following
single line:
single line:
<indexterm><primary>Solaris</></>
<programlisting>
<programlisting>
su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data"
su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data"
</programlisting>
</programlisting>
...
@@ -1013,6 +1019,7 @@ env PGOPTIONS='-c geqo=off' psql
...
@@ -1013,6 +1019,7 @@ env PGOPTIONS='-c geqo=off' psql
<variablelist>
<variablelist>
<varlistentry>
<varlistentry>
<term><varname>AUSTRALIAN_TIMEZONES</varname> (<type>bool</type>)</term>
<term><varname>AUSTRALIAN_TIMEZONES</varname> (<type>bool</type>)</term>
<indexterm><primary>Australian time zones</></>
<listitem>
<listitem>
<para>
<para>
If set to true, <literal>CST</literal>, <literal>EST</literal>,
If set to true, <literal>CST</literal>, <literal>EST</literal>,
...
@@ -1025,6 +1032,7 @@ env PGOPTIONS='-c geqo=off' psql
...
@@ -1025,6 +1032,7 @@ env PGOPTIONS='-c geqo=off' psql
<varlistentry>
<varlistentry>
<term><varname>AUTHENTICATION_TIMEOUT</varname> (<type>integer</type>)</term>
<term><varname>AUTHENTICATION_TIMEOUT</varname> (<type>integer</type>)</term>
<indexterm><primary>timeout</><secondary>authentication</></indexterm>
<listitem>
<listitem>
<para>
<para>
Maximum time to complete client authentication, in seconds.
Maximum time to complete client authentication, in seconds.
...
@@ -1042,6 +1050,10 @@ env PGOPTIONS='-c geqo=off' psql
...
@@ -1042,6 +1050,10 @@ env PGOPTIONS='-c geqo=off' psql
<primary>deadlock</primary>
<primary>deadlock</primary>
<secondary>timeout</secondary>
<secondary>timeout</secondary>
</indexterm>
</indexterm>
<indexterm>
<primary>timeout</primary>
<secondary>deadlock</secondary>
</indexterm>
<term><varname>DEADLOCK_TIMEOUT</varname> (<type>integer</type>)</term>
<term><varname>DEADLOCK_TIMEOUT</varname> (<type>integer</type>)</term>
<listitem>
<listitem>
...
@@ -1091,6 +1103,8 @@ env PGOPTIONS='-c geqo=off' psql
...
@@ -1091,6 +1103,8 @@ env PGOPTIONS='-c geqo=off' psql
<varlistentry>
<varlistentry>
<term><varname>DYNAMIC_LIBRARY_PATH</varname> (<type>string</type>)</term>
<term><varname>DYNAMIC_LIBRARY_PATH</varname> (<type>string</type>)</term>
<indexterm><primary>dynamic_library_path</></>
<indexterm><primary>dynamic loading</></>
<listitem>
<listitem>
<para>
<para>
If a dynamically loadable module needs to be opened and the
If a dynamically loadable module needs to be opened and the
...
@@ -1298,6 +1312,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
...
@@ -1298,6 +1312,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<varlistentry>
<varlistentry>
<term><varname>PORT</varname> (<type>integer</type>)</term>
<term><varname>PORT</varname> (<type>integer</type>)</term>
<indexterm><primary>port</></>
<listitem>
<listitem>
<para>
<para>
The TCP port the server listens on; 5432 by default. This
The TCP port the server listens on; 5432 by default. This
...
@@ -1351,6 +1366,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
...
@@ -1351,6 +1366,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<varlistentry>
<varlistentry>
<term><varname>SQL_INHERITANCE</varname> (<type>bool</type>)</term>
<term><varname>SQL_INHERITANCE</varname> (<type>bool</type>)</term>
<indexterm><primary>inheritance</></>
<listitem>
<listitem>
<para>
<para>
This controls the inheritance semantics, in particular whether
This controls the inheritance semantics, in particular whether
...
@@ -1395,6 +1411,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
...
@@ -1395,6 +1411,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<varlistentry>
<varlistentry>
<term><varname>TRANSFORM_NULL_EQUALS</varname> (<type>boolean</type>)</term>
<term><varname>TRANSFORM_NULL_EQUALS</varname> (<type>boolean</type>)</term>
<indexterm><primary>IS NULL</></>
<listitem>
<listitem>
<para>
<para>
When turned on, expressions of the form
When turned on, expressions of the form
...
@@ -1955,6 +1972,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
...
@@ -1955,6 +1972,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<varlistentry>
<varlistentry>
<term><systemitem class="osname">BSD/OS</></term>
<term><systemitem class="osname">BSD/OS</></term>
<indexterm><primary>BSD/OS</></>
<listitem>
<listitem>
<formalpara>
<formalpara>
<title>Shared Memory</>
<title>Shared Memory</>
...
@@ -2020,6 +2038,9 @@ options "SEMMNU=120"
...
@@ -2020,6 +2038,9 @@ options "SEMMNU=120"
<term><systemitem class="osname">FreeBSD</></term>
<term><systemitem class="osname">FreeBSD</></term>
<term><systemitem class="osname">NetBSD</></term>
<term><systemitem class="osname">NetBSD</></term>
<term><systemitem class="osname">OpenBSD</></term>
<term><systemitem class="osname">OpenBSD</></term>
<indexterm><primary>FreeBSD</></>
<indexterm><primary>NetBSD</></>
<indexterm><primary>OpenBSD</></>
<listitem>
<listitem>
<para>
<para>
The options <varname>SYSVSHM</> and <varname>SYSVSEM</> need
The options <varname>SYSVSHM</> and <varname>SYSVSEM</> need
...
@@ -2048,6 +2069,7 @@ options SEMMAP=256
...
@@ -2048,6 +2069,7 @@ options SEMMAP=256
<varlistentry>
<varlistentry>
<term><systemitem class="osname">HP-UX</></term>
<term><systemitem class="osname">HP-UX</></term>
<indexterm><primary>HP-UX</></>
<listitem>
<listitem>
<para>
<para>
The default settings tend to suffice for normal installations.
The default settings tend to suffice for normal installations.
...
@@ -2068,6 +2090,7 @@ options SEMMAP=256
...
@@ -2068,6 +2090,7 @@ options SEMMAP=256
<varlistentry>
<varlistentry>
<term><systemitem class="osname">Linux</></term>
<term><systemitem class="osname">Linux</></term>
<indexterm><primary>Linux</></>
<listitem>
<listitem>
<para>
<para>
The default shared memory limit (both
The default shared memory limit (both
...
@@ -2110,6 +2133,7 @@ kernel.shmmax = 134217728
...
@@ -2110,6 +2133,7 @@ kernel.shmmax = 134217728
<varlistentry>
<varlistentry>
<term><systemitem class="osname">SCO OpenServer</></term>
<term><systemitem class="osname">SCO OpenServer</></term>
<indexterm><primary>SCO OpenServer</></>
<listitem>
<listitem>
<para>
<para>
In the default configuration, only 512 kB of shared memory per
In the default configuration, only 512 kB of shared memory per
...
@@ -2137,6 +2161,7 @@ kernel.shmmax = 134217728
...
@@ -2137,6 +2161,7 @@ kernel.shmmax = 134217728
<varlistentry>
<varlistentry>
<term><systemitem class="osname">Solaris</></term>
<term><systemitem class="osname">Solaris</></term>
<indexterm><primary>Solaris</></>
<listitem>
<listitem>
<para>
<para>
At least in version 2.6, the maximum size of a shared memory
At least in version 2.6, the maximum size of a shared memory
...
@@ -2169,6 +2194,7 @@ set semsys:seminfo_semmsl=32
...
@@ -2169,6 +2194,7 @@ set semsys:seminfo_semmsl=32
<varlistentry>
<varlistentry>
<term><systemitem class="osname">UnixWare</></term>
<term><systemitem class="osname">UnixWare</></term>
<indexterm><primary>Unixware</></>
<listitem>
<listitem>
<para>
<para>
On <productname>UnixWare</> 7, the maximum size for shared
On <productname>UnixWare</> 7, the maximum size for shared
...
...
doc/src/sgml/xfunc.sgml
View file @
3c879e37
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.4
1 2001/11/01 04:07:29 tgl
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.4
2 2001/11/12 19:19:39 petere
Exp $
-->
-->
<chapter id="xfunc">
<chapter id="xfunc">
<title id="xfunc-title">Extending <acronym>SQL</acronym>: Functions</title>
<title id="xfunc-title">Extending <acronym>SQL</acronym>: Functions</title>
<indexterm zone="xfunc"><primary>function</></>
<sect1 id="xfunc-intro">
<sect1 id="xfunc-intro">
<title>Introduction</title>
<title>Introduction</title>
...
@@ -70,6 +72,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.41 2001/11/01 04:07:29 tgl E
...
@@ -70,6 +72,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.41 2001/11/01 04:07:29 tgl E
<sect1 id="xfunc-sql">
<sect1 id="xfunc-sql">
<title>Query Language (<acronym>SQL</acronym>) Functions</title>
<title>Query Language (<acronym>SQL</acronym>) Functions</title>
<indexterm zone="xfunc-sql"><primary>function</><secondary>SQL</></>
<para>
<para>
SQL functions execute an arbitrary list of SQL statements, returning
SQL functions execute an arbitrary list of SQL statements, returning
the result of the last query in the list, which must be a
the result of the last query in the list, which must be a
...
@@ -83,6 +87,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.41 2001/11/01 04:07:29 tgl E
...
@@ -83,6 +87,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.41 2001/11/01 04:07:29 tgl E
</para>
</para>
<para>
<para>
<indexterm><primary>SETOF</><seealso>function</></>
Alternatively, an SQL function may be declared to return a set,
Alternatively, an SQL function may be declared to return a set,
by specifying the function's return type
by specifying the function's return type
as <literal>SETOF</literal> <replaceable>sometype</>. In this case
as <literal>SETOF</literal> <replaceable>sometype</>. In this case
...
@@ -475,6 +480,8 @@ SELECT name, listchildren(name) FROM nodes;
...
@@ -475,6 +480,8 @@ SELECT name, listchildren(name) FROM nodes;
<sect1 id="xfunc-internal">
<sect1 id="xfunc-internal">
<title>Internal Functions</title>
<title>Internal Functions</title>
<indexterm zone="xfunc-internal"><primary>function</><secondary>internal</></>
<para>
<para>
Internal functions are functions written in C that have been statically
Internal functions are functions written in C that have been statically
linked into the <productname>PostgreSQL</productname> server.
linked into the <productname>PostgreSQL</productname> server.
...
@@ -569,7 +576,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
...
@@ -569,7 +576,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
<para>
<para>
If the name starts with the string <literal>$libdir</literal>,
If the name starts with the string <literal>$libdir</literal>,
that part is replaced by the PostgreSQL package library directory
that part is replaced by the PostgreSQL package library directory
name, which is determined at build time.
name, which is determined at build time.
<indexterm><primary>$libdir</></>
</para>
</para>
</listitem>
</listitem>
...
@@ -577,7 +584,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
...
@@ -577,7 +584,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
<para>
<para>
If the name does not contain a directory part, the file is
If the name does not contain a directory part, the file is
searched for in the path specified by the configuration variable
searched for in the path specified by the configuration variable
<varname>dynamic_library_path</varname>.
<varname>dynamic_library_path</varname>.
<indexterm><primary>dynamic_library_path</></>
</para>
</para>
</listitem>
</listitem>
...
@@ -1406,7 +1413,7 @@ LANGUAGE C;
...
@@ -1406,7 +1413,7 @@ LANGUAGE C;
<itemizedlist>
<itemizedlist>
<listitem>
<listitem>
<para>
<para>
Use <literal>pg_config --includedir-server</literal> to find
Use <literal>pg_config --includedir-server</literal>
<indexterm><primary>pg_config</></>
to find
out where the PostgreSQL server header files are installed on
out where the PostgreSQL server header files are installed on
your system (or the system that your users will be running
your system (or the system that your users will be running
on). This option is new with PostgreSQL 7.2. For PostgreSQL
on). This option is new with PostgreSQL 7.2. For PostgreSQL
...
@@ -1492,6 +1499,8 @@ LANGUAGE C;
...
@@ -1492,6 +1499,8 @@ LANGUAGE C;
<sect1 id="xfunc-overload">
<sect1 id="xfunc-overload">
<title>Function Overloading</title>
<title>Function Overloading</title>
<indexterm zone="xfunc-overload"><primary>overloading</></>
<para>
<para>
More than one function may be defined with the same SQL name, so long
More than one function may be defined with the same SQL name, so long
as the arguments they take are different. In other words,
as the arguments they take are different. In other words,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment