mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Spell and markup checking
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/arch-dev.sgml,v 2.34 2010/04/03 07:22:52 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/arch-dev.sgml,v 2.35 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="overview">
|
<chapter id="overview">
|
||||||
<title>Overview of PostgreSQL Internals</title>
|
<title>Overview of PostgreSQL Internals</title>
|
||||||
@ -463,7 +463,7 @@
|
|||||||
needed, plus any auxiliary steps needed, such as sort nodes or
|
needed, plus any auxiliary steps needed, such as sort nodes or
|
||||||
aggregate-function calculation nodes. Most of these plan node
|
aggregate-function calculation nodes. Most of these plan node
|
||||||
types have the additional ability to do <firstterm>selection</>
|
types have the additional ability to do <firstterm>selection</>
|
||||||
(discarding rows that do not meet a specified boolean condition)
|
(discarding rows that do not meet a specified Boolean condition)
|
||||||
and <firstterm>projection</> (computation of a derived column set
|
and <firstterm>projection</> (computation of a derived column set
|
||||||
based on given column values, that is, evaluation of scalar
|
based on given column values, that is, evaluation of scalar
|
||||||
expressions where needed). One of the responsibilities of the
|
expressions where needed). One of the responsibilities of the
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/bki.sgml,v 1.23 2010/01/05 01:06:55 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/bki.sgml,v 1.24 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="bki">
|
<chapter id="bki">
|
||||||
<title><acronym>BKI</acronym> Backend Interface</title>
|
<title><acronym>BKI</acronym> Backend Interface</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/btree-gin.sgml,v 1.1 2009/03/25 23:20:01 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/btree-gin.sgml,v 1.2 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="btree-gin">
|
<sect1 id="btree-gin">
|
||||||
<title>btree_gin</title>
|
<title>btree_gin</title>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<filename>btree_gin</> provides sample GIN operator classes that
|
<filename>btree_gin</> provides sample GIN operator classes that
|
||||||
implement B-Tree equivalent behavior for the data types
|
implement B-tree equivalent behavior for the data types
|
||||||
<type>int2</>, <type>int4</>, <type>int8</>, <type>float4</>,
|
<type>int2</>, <type>int4</>, <type>int8</>, <type>float4</>,
|
||||||
<type>float8</>, <type>timestamp with time zone</>,
|
<type>float8</>, <type>timestamp with time zone</>,
|
||||||
<type>timestamp without time zone</>, <type>time with time zone</>,
|
<type>timestamp without time zone</>, <type>time with time zone</>,
|
||||||
@ -21,12 +21,12 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
In general, these operator classes will not outperform the equivalent
|
In general, these operator classes will not outperform the equivalent
|
||||||
standard btree index methods, and they lack one major feature of the
|
standard B-tree index methods, and they lack one major feature of the
|
||||||
standard btree code: the ability to enforce uniqueness. However,
|
standard B-tree code: the ability to enforce uniqueness. However,
|
||||||
they are useful for GIN testing and as a base for developing other
|
they are useful for GIN testing and as a base for developing other
|
||||||
GIN operator classes. Also, for queries that test both a GIN-indexable
|
GIN operator classes. Also, for queries that test both a GIN-indexable
|
||||||
column and a btree-indexable column, it might be more efficient to create
|
column and a B-tree-indexable column, it might be more efficient to create
|
||||||
a multi-column GIN index that uses one of these opclasses than to create
|
a multicolumn GIN index that uses one of these operator classes than to create
|
||||||
two separate indexes that would have to be combined via bitmap ANDing.
|
two separate indexes that would have to be combined via bitmap ANDing.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/btree-gist.sgml,v 1.7 2010/08/03 15:15:31 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/btree-gist.sgml,v 1.8 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="btree-gist">
|
<sect1 id="btree-gist">
|
||||||
<title>btree_gist</title>
|
<title>btree_gist</title>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<filename>btree_gist</> provides sample GiST operator classes that
|
<filename>btree_gist</> provides sample GiST operator classes that
|
||||||
implement B-Tree equivalent behavior for the data types
|
implement B-tree equivalent behavior for the data types
|
||||||
<type>int2</>, <type>int4</>, <type>int8</>, <type>float4</>,
|
<type>int2</>, <type>int4</>, <type>int8</>, <type>float4</>,
|
||||||
<type>float8</>, <type>numeric</>, <type>timestamp with time zone</>,
|
<type>float8</>, <type>numeric</>, <type>timestamp with time zone</>,
|
||||||
<type>timestamp without time zone</>, <type>time with time zone</>,
|
<type>timestamp without time zone</>, <type>time with time zone</>,
|
||||||
@ -21,8 +21,8 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
In general, these operator classes will not outperform the equivalent
|
In general, these operator classes will not outperform the equivalent
|
||||||
standard btree index methods, and they lack one major feature of the
|
standard B-tree index methods, and they lack one major feature of the
|
||||||
standard btree code: the ability to enforce uniqueness. However,
|
standard B-tree code: the ability to enforce uniqueness. However,
|
||||||
they are useful for GiST testing and as a base for developing other
|
they are useful for GiST testing and as a base for developing other
|
||||||
GiST operator classes.
|
GiST operator classes.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.225 2010/04/03 07:22:52 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.226 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
<!--
|
<!--
|
||||||
Documentation of the system catalogs, directed toward PostgreSQL developers
|
Documentation of the system catalogs, directed toward PostgreSQL developers
|
||||||
-->
|
-->
|
||||||
@ -344,8 +344,8 @@
|
|||||||
<entry>
|
<entry>
|
||||||
The initial value of the transition state. This is a text
|
The initial value of the transition state. This is a text
|
||||||
field containing the initial value in its external string
|
field containing the initial value in its external string
|
||||||
representation. If this field is NULL, the transition state
|
representation. If this field is null, the transition state
|
||||||
value starts out NULL
|
value starts out null.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -461,7 +461,7 @@
|
|||||||
<entry><structfield>amsearchnulls</structfield></entry>
|
<entry><structfield>amsearchnulls</structfield></entry>
|
||||||
<entry><type>bool</type></entry>
|
<entry><type>bool</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Does the access method support IS NULL/NOT NULL searches?</entry>
|
<entry>Does the access method support <literal>IS NULL</>/<literal>NOT NULL</> searches?</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
@ -892,7 +892,7 @@
|
|||||||
The exact meaning of positive values is data type-dependent.
|
The exact meaning of positive values is data type-dependent.
|
||||||
For scalar data types, <structfield>attstattarget</structfield>
|
For scalar data types, <structfield>attstattarget</structfield>
|
||||||
is both the target number of <quote>most common values</quote>
|
is both the target number of <quote>most common values</quote>
|
||||||
to collect, and the target number of histogram bins to create
|
to collect, and the target number of histogram bins to create.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -913,7 +913,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
The number of the column. Ordinary columns are numbered from 1
|
The number of the column. Ordinary columns are numbered from 1
|
||||||
up. System columns, such as <structfield>oid</structfield>,
|
up. System columns, such as <structfield>oid</structfield>,
|
||||||
have (arbitrary) negative numbers
|
have (arbitrary) negative numbers.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -924,7 +924,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
Number of dimensions, if the column is an array type; otherwise 0.
|
Number of dimensions, if the column is an array type; otherwise 0.
|
||||||
(Presently, the number of dimensions of an array is not enforced,
|
(Presently, the number of dimensions of an array is not enforced,
|
||||||
so any nonzero value effectively means <quote>it's an array</>)
|
so any nonzero value effectively means <quote>it's an array</>.)
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -948,7 +948,7 @@
|
|||||||
supplied at table creation time (for example, the maximum
|
supplied at table creation time (for example, the maximum
|
||||||
length of a <type>varchar</type> column). It is passed to
|
length of a <type>varchar</type> column). It is passed to
|
||||||
type-specific input functions and length coercion functions.
|
type-specific input functions and length coercion functions.
|
||||||
The value will generally be -1 for types that do not need <structfield>atttypmod</>
|
The value will generally be -1 for types that do not need <structfield>atttypmod</>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -968,7 +968,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
Normally a copy of <literal>pg_type.typstorage</> of this
|
Normally a copy of <literal>pg_type.typstorage</> of this
|
||||||
column's type. For TOAST-able data types, this can be altered
|
column's type. For TOAST-able data types, this can be altered
|
||||||
after column creation to control storage policy
|
after column creation to control storage policy.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -987,7 +987,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
This represents a not-null constraint. It is possible to
|
This represents a not-null constraint. It is possible to
|
||||||
change this column to enable or disable the constraint
|
change this column to enable or disable the constraint.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -998,7 +998,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
This column has a default value, in which case there will be a
|
This column has a default value, in which case there will be a
|
||||||
corresponding entry in the <structname>pg_attrdef</structname>
|
corresponding entry in the <structname>pg_attrdef</structname>
|
||||||
catalog that actually defines the value
|
catalog that actually defines the value.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1009,7 +1009,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
This column has been dropped and is no longer valid. A dropped
|
This column has been dropped and is no longer valid. A dropped
|
||||||
column is still physically present in the table, but is
|
column is still physically present in the table, but is
|
||||||
ignored by the parser and so cannot be accessed via SQL
|
ignored by the parser and so cannot be accessed via SQL.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1019,7 +1019,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
This column is defined locally in the relation. Note that a column can
|
This column is defined locally in the relation. Note that a column can
|
||||||
be locally defined and inherited simultaneously
|
be locally defined and inherited simultaneously.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1029,7 +1029,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
The number of direct ancestors this column has. A column with a
|
The number of direct ancestors this column has. A column with a
|
||||||
nonzero number of ancestors cannot be dropped nor renamed
|
nonzero number of ancestors cannot be dropped nor renamed.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1163,7 +1163,7 @@
|
|||||||
<entry><type>bool</type></entry>
|
<entry><type>bool</type></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Role can log in. That is, this role can be given as the initial
|
Role can log in. That is, this role can be given as the initial
|
||||||
session authorization identifier
|
session authorization identifier.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1172,21 +1172,21 @@
|
|||||||
<entry><type>int4</type></entry>
|
<entry><type>int4</type></entry>
|
||||||
<entry>
|
<entry>
|
||||||
For roles that can log in, this sets maximum number of concurrent
|
For roles that can log in, this sets maximum number of concurrent
|
||||||
connections this role can make. -1 means no limit
|
connections this role can make. -1 means no limit.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>rolpassword</structfield></entry>
|
<entry><structfield>rolpassword</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Password (possibly encrypted); NULL if none</entry>
|
<entry>Password (possibly encrypted); null if none</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>rolvaliduntil</structfield></entry>
|
<entry><structfield>rolvaliduntil</structfield></entry>
|
||||||
<entry><type>timestamptz</type></entry>
|
<entry><type>timestamptz</type></entry>
|
||||||
<entry>Password expiry time (only used for password authentication);
|
<entry>Password expiry time (only used for password authentication);
|
||||||
NULL if no expiration</entry>
|
null if no expiration</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@ -1338,7 +1338,7 @@
|
|||||||
<literal>a</> means implicitly in assignment
|
<literal>a</> means implicitly in assignment
|
||||||
to a target column, as well as explicitly.
|
to a target column, as well as explicitly.
|
||||||
<literal>i</> means implicitly in expressions, as well as the
|
<literal>i</> means implicitly in expressions, as well as the
|
||||||
other cases
|
other cases.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -1349,7 +1349,7 @@
|
|||||||
Indicates how the cast is performed.
|
Indicates how the cast is performed.
|
||||||
<literal>f</> means that the function specified in the <structfield>castfunc</> field is used.
|
<literal>f</> means that the function specified in the <structfield>castfunc</> field is used.
|
||||||
<literal>i</> means that the input/output functions are used.
|
<literal>i</> means that the input/output functions are used.
|
||||||
<literal>b</> means that the types are binary-coercible, thus no conversion is required
|
<literal>b</> means that the types are binary-coercible, thus no conversion is required.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -1487,7 +1487,7 @@
|
|||||||
<symbol>BLCKSZ</symbol>). This is only an estimate used by the
|
<symbol>BLCKSZ</symbol>). This is only an estimate used by the
|
||||||
planner. It is updated by <command>VACUUM</command>,
|
planner. It is updated by <command>VACUUM</command>,
|
||||||
<command>ANALYZE</command>, and a few DDL commands such as
|
<command>ANALYZE</command>, and a few DDL commands such as
|
||||||
<command>CREATE INDEX</command>
|
<command>CREATE INDEX</command>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1499,7 +1499,7 @@
|
|||||||
Number of rows in the table. This is only an estimate used by the
|
Number of rows in the table. This is only an estimate used by the
|
||||||
planner. It is updated by <command>VACUUM</command>,
|
planner. It is updated by <command>VACUUM</command>,
|
||||||
<command>ANALYZE</command>, and a few DDL commands such as
|
<command>ANALYZE</command>, and a few DDL commands such as
|
||||||
<command>CREATE INDEX</command>
|
<command>CREATE INDEX</command>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1510,7 +1510,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
OID of the TOAST table associated with this table, 0 if none. The
|
OID of the TOAST table associated with this table, 0 if none. The
|
||||||
TOAST table stores large attributes <quote>out of line</quote> in a
|
TOAST table stores large attributes <quote>out of line</quote> in a
|
||||||
secondary table
|
secondary table.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1519,7 +1519,7 @@
|
|||||||
<entry><type>oid</type></entry>
|
<entry><type>oid</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
||||||
<entry>
|
<entry>
|
||||||
For a TOAST table, the OID of its index. 0 if not a TOAST table
|
For a TOAST table, the OID of its index. 0 if not a TOAST table.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1539,7 +1539,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
True if this table is shared across all databases in the cluster. Only
|
True if this table is shared across all databases in the cluster. Only
|
||||||
certain system catalogs (such as <structname>pg_database</structname>)
|
certain system catalogs (such as <structname>pg_database</structname>)
|
||||||
are shared
|
are shared.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1549,7 +1549,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
True if this table is a temporary relation. If so, only the creating
|
True if this table is a temporary relation. If so, only the creating
|
||||||
session can safely access its contents
|
session can safely access its contents.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1573,7 +1573,7 @@
|
|||||||
Number of user columns in the relation (system columns not
|
Number of user columns in the relation (system columns not
|
||||||
counted). There must be this many corresponding entries in
|
counted). There must be this many corresponding entries in
|
||||||
<structname>pg_attribute</structname>. See also
|
<structname>pg_attribute</structname>. See also
|
||||||
<literal>pg_attribute.attnum</literal>
|
<literal>pg_attribute.attnum</literal>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1652,7 +1652,7 @@
|
|||||||
(<quote>frozen</>) transaction ID in this table. This is used to track
|
(<quote>frozen</>) transaction ID in this table. This is used to track
|
||||||
whether the table needs to be vacuumed in order to prevent transaction
|
whether the table needs to be vacuumed in order to prevent transaction
|
||||||
ID wraparound or to allow <literal>pg_clog</> to be shrunk. Zero
|
ID wraparound or to allow <literal>pg_clog</> to be shrunk. Zero
|
||||||
(<symbol>InvalidTransactionId</symbol>) if the relation is not a table
|
(<symbol>InvalidTransactionId</symbol>) if the relation is not a table.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1681,7 +1681,7 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Several of the boolean flags in <structname>pg_class</> are maintained
|
Several of the Boolean flags in <structname>pg_class</> are maintained
|
||||||
lazily: they are guaranteed to be true if that's the correct state, but
|
lazily: they are guaranteed to be true if that's the correct state, but
|
||||||
may not be reset to false immediately when the condition is no longer
|
may not be reset to false immediately when the condition is no longer
|
||||||
true. For example, <structfield>relhasindex</> is set by
|
true. For example, <structfield>relhasindex</> is set by
|
||||||
@ -1847,7 +1847,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
This constraint is defined locally for the relation. Note that a
|
This constraint is defined locally for the relation. Note that a
|
||||||
constraint can be locally defined and inherited simultaneously
|
constraint can be locally defined and inherited simultaneously.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -1858,7 +1858,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
The number of direct inheritance ancestors this constraint has.
|
The number of direct inheritance ancestors this constraint has.
|
||||||
A constraint with
|
A constraint with
|
||||||
a nonzero number of ancestors cannot be dropped nor renamed
|
a nonzero number of ancestors cannot be dropped nor renamed.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2128,7 +2128,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
If false then no one can connect to this database. This is
|
If false then no one can connect to this database. This is
|
||||||
used to protect the <literal>template0</> database from being altered
|
used to protect the <literal>template0</> database from being altered.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2138,7 +2138,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Sets maximum number of concurrent connections that can be made
|
Sets maximum number of concurrent connections that can be made
|
||||||
to this database. -1 means no limit
|
to this database. -1 means no limit.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2162,7 +2162,7 @@
|
|||||||
track whether the database needs to be vacuumed in order to prevent
|
track whether the database needs to be vacuumed in order to prevent
|
||||||
transaction ID wraparound or to allow <literal>pg_clog</> to be shrunk.
|
transaction ID wraparound or to allow <literal>pg_clog</> to be shrunk.
|
||||||
It is the minimum of the per-table
|
It is the minimum of the per-table
|
||||||
<structname>pg_class</>.<structfield>relfrozenxid</> values
|
<structname>pg_class</>.<structfield>relfrozenxid</> values.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2175,7 +2175,7 @@
|
|||||||
Within this database, all tables for which
|
Within this database, all tables for which
|
||||||
<structname>pg_class</>.<structfield>reltablespace</> is zero
|
<structname>pg_class</>.<structfield>reltablespace</> is zero
|
||||||
will be stored in this tablespace; in particular, all the non-shared
|
will be stored in this tablespace; in particular, all the non-shared
|
||||||
system catalogs will be there
|
system catalogs will be there.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2273,7 +2273,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that when an ACL entry in another catalog is NULL, it is taken
|
Note that when an ACL entry in another catalog is null, it is taken
|
||||||
to represent the hard-wired default privileges for its object,
|
to represent the hard-wired default privileges for its object,
|
||||||
<emphasis>not</> whatever might be in <structname>pg_default_acl</>
|
<emphasis>not</> whatever might be in <structname>pg_default_acl</>
|
||||||
at the moment. <structname>pg_default_acl</> is only consulted during
|
at the moment. <structname>pg_default_acl</> is only consulted during
|
||||||
@ -2340,7 +2340,7 @@
|
|||||||
For a table column, this is the column number (the
|
For a table column, this is the column number (the
|
||||||
<structfield>objid</> and <structfield>classid</> refer to the
|
<structfield>objid</> and <structfield>classid</> refer to the
|
||||||
table itself). For all other object types, this column is
|
table itself). For all other object types, this column is
|
||||||
zero
|
zero.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2366,7 +2366,7 @@
|
|||||||
For a table column, this is the column number (the
|
For a table column, this is the column number (the
|
||||||
<structfield>refobjid</> and <structfield>refclassid</> refer
|
<structfield>refobjid</> and <structfield>refclassid</> refer
|
||||||
to the table itself). For all other object types, this column
|
to the table itself). For all other object types, this column
|
||||||
is zero
|
is zero.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2515,7 +2515,7 @@
|
|||||||
For a comment on a table column, this is the column number (the
|
For a comment on a table column, this is the column number (the
|
||||||
<structfield>objoid</> and <structfield>classoid</> refer to
|
<structfield>objoid</> and <structfield>classoid</> refer to
|
||||||
the table itself). For all other object types, this column is
|
the table itself). For all other object types, this column is
|
||||||
zero
|
zero.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2743,7 +2743,7 @@
|
|||||||
<entry><type>text[]</type></entry>
|
<entry><type>text[]</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Foreign server specific options, as <quote>keyword=value</> strings.
|
Foreign server specific options, as <quote>keyword=value</> strings
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -2840,7 +2840,7 @@
|
|||||||
index is possibly incomplete: it must still be modified by
|
index is possibly incomplete: it must still be modified by
|
||||||
<command>INSERT</>/<command>UPDATE</> operations, but it cannot safely
|
<command>INSERT</>/<command>UPDATE</> operations, but it cannot safely
|
||||||
be used for queries. If it is unique, the uniqueness property is not
|
be used for queries. If it is unique, the uniqueness property is not
|
||||||
true either
|
true either.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2850,7 +2850,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
If true, queries must not use the index until the <structfield>xmin</>
|
If true, queries must not use the index until the <structfield>xmin</>
|
||||||
of this <structname>pg_index</> row is below their TransactionXmin
|
of this <structname>pg_index</> row is below their <symbol>TransactionXmin</symbol>
|
||||||
event horizon, because the table may contain broken HOT chains with
|
event horizon, because the table may contain broken HOT chains with
|
||||||
incompatible rows that they can see
|
incompatible rows that they can see
|
||||||
</entry>
|
</entry>
|
||||||
@ -2863,7 +2863,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
If true, the index is currently ready for inserts. False means the
|
If true, the index is currently ready for inserts. False means the
|
||||||
index must be ignored by <command>INSERT</>/<command>UPDATE</>
|
index must be ignored by <command>INSERT</>/<command>UPDATE</>
|
||||||
operations
|
operations.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2877,7 +2877,7 @@
|
|||||||
of <literal>1 3</literal> would mean that the first and the third table
|
of <literal>1 3</literal> would mean that the first and the third table
|
||||||
columns make up the index key. A zero in this array indicates that the
|
columns make up the index key. A zero in this array indicates that the
|
||||||
corresponding index attribute is an expression over the table columns,
|
corresponding index attribute is an expression over the table columns,
|
||||||
rather than a simple column reference
|
rather than a simple column reference.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2888,7 +2888,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
For each column in the index key, this contains the OID of
|
For each column in the index key, this contains the OID of
|
||||||
the operator class to use. See
|
the operator class to use. See
|
||||||
<link linkend="catalog-pg-opclass"><structname>pg_opclass</structname></link> for details
|
<link linkend="catalog-pg-opclass"><structname>pg_opclass</structname></link> for details.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2899,7 +2899,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
This is an array of <structfield>indnatts</structfield> values that
|
This is an array of <structfield>indnatts</structfield> values that
|
||||||
store per-column flag bits. The meaning of the bits is defined by
|
store per-column flag bits. The meaning of the bits is defined by
|
||||||
the index's access method
|
the index's access method.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2907,18 +2907,24 @@
|
|||||||
<entry><structfield>indexprs</structfield></entry>
|
<entry><structfield>indexprs</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Expression trees (in <function>nodeToString()</function> representation)
|
<entry>
|
||||||
for index attributes that are not simple column references. This is a
|
Expression trees (in <function>nodeToString()</function>
|
||||||
list with one element for each zero entry in <structfield>indkey</>.
|
representation) for index attributes that are not simple column
|
||||||
NULL if all index attributes are simple references</entry>
|
references. This is a list with one element for each zero
|
||||||
|
entry in <structfield>indkey</>. Null if all index attributes
|
||||||
|
are simple references.
|
||||||
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>indpred</structfield></entry>
|
<entry><structfield>indpred</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Expression tree (in <function>nodeToString()</function> representation)
|
<entry>
|
||||||
for partial index predicate. NULL if not a partial index</entry>
|
Expression tree (in <function>nodeToString()</function>
|
||||||
|
representation) for partial index predicate. Null if not a
|
||||||
|
partial index.
|
||||||
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@ -2980,7 +2986,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
If there is more than one direct parent for a child table (multiple
|
If there is more than one direct parent for a child table (multiple
|
||||||
inheritance), this number tells the order in which the
|
inheritance), this number tells the order in which the
|
||||||
inherited columns are to be arranged. The count starts at 1
|
inherited columns are to be arranged. The count starts at 1.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -3041,7 +3047,7 @@
|
|||||||
<acronym>SQL</acronym>) and true for user-defined languages.
|
<acronym>SQL</acronym>) and true for user-defined languages.
|
||||||
Currently, <application>pg_dump</application> still uses this
|
Currently, <application>pg_dump</application> still uses this
|
||||||
to determine which languages need to be dumped, but this might be
|
to determine which languages need to be dumped, but this might be
|
||||||
replaced by a different mechanism in the future
|
replaced by a different mechanism in the future.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3053,7 +3059,7 @@
|
|||||||
True if this is a trusted language, which means that it is believed
|
True if this is a trusted language, which means that it is believed
|
||||||
not to grant access to anything outside the normal SQL execution
|
not to grant access to anything outside the normal SQL execution
|
||||||
environment. Only superusers can create functions in untrusted
|
environment. Only superusers can create functions in untrusted
|
||||||
languages
|
languages.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3077,7 +3083,7 @@
|
|||||||
This references a function that is responsible for executing
|
This references a function that is responsible for executing
|
||||||
<quote>inline</> anonymous code blocks
|
<quote>inline</> anonymous code blocks
|
||||||
(<xref linkend="sql-do"> blocks).
|
(<xref linkend="sql-do"> blocks).
|
||||||
Zero if inline blocks are not supported
|
Zero if inline blocks are not supported.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3088,7 +3094,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
This references a language validator function that is responsible
|
This references a language validator function that is responsible
|
||||||
for checking the syntax and validity of new functions when they
|
for checking the syntax and validity of new functions when they
|
||||||
are created. Zero if no validator is provided
|
are created. Zero if no validator is provided.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3133,7 +3139,7 @@
|
|||||||
<structname>pg_largeobject</structname> was publicly readable and could be
|
<structname>pg_largeobject</structname> was publicly readable and could be
|
||||||
used to obtain the OIDs (and contents) of all large objects in the system.
|
used to obtain the OIDs (and contents) of all large objects in the system.
|
||||||
This is no longer the case; use
|
This is no longer the case; use
|
||||||
<link linkend="catalog-pg-largeobject-metadata">pg_largeobject_metadata</link>
|
<link linkend="catalog-pg-largeobject-metadata"><structname>pg_largeobject_metadata</></link>
|
||||||
to obtain a list of large object OIDs.
|
to obtain a list of large object OIDs.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -3172,7 +3178,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Actual data stored in the large object.
|
Actual data stored in the large object.
|
||||||
This will never be more than <symbol>LOBLKSIZE</> bytes and might be less
|
This will never be more than <symbol>LOBLKSIZE</> bytes and might be less.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -3201,7 +3207,7 @@
|
|||||||
The catalog <structname>pg_largeobject_metadata</structname>
|
The catalog <structname>pg_largeobject_metadata</structname>
|
||||||
holds metadata associated with large objects. The actual large object
|
holds metadata associated with large objects. The actual large object
|
||||||
data is stored in
|
data is stored in
|
||||||
<link linkend="catalog-pg-largeobject">pg_largeobject</link>.
|
<link linkend="catalog-pg-largeobject"><structname>pg_largeobject</></link>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
@ -3693,13 +3699,13 @@
|
|||||||
<row>
|
<row>
|
||||||
<entry><structfield>tmplinline</structfield></entry>
|
<entry><structfield>tmplinline</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Name of anonymous-block handler function, or NULL if none</entry>
|
<entry>Name of anonymous-block handler function, or null if none</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>tmplvalidator</structfield></entry>
|
<entry><structfield>tmplvalidator</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Name of validator function, or NULL if none</entry>
|
<entry>Name of validator function, or null if none</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
@ -3853,7 +3859,7 @@
|
|||||||
Function returns null if any call argument is null. In that
|
Function returns null if any call argument is null. In that
|
||||||
case the function won't actually be called at all. Functions
|
case the function won't actually be called at all. Functions
|
||||||
that are not <quote>strict</quote> must be prepared to handle
|
that are not <quote>strict</quote> must be prepared to handle
|
||||||
null inputs
|
null inputs.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3913,7 +3919,7 @@
|
|||||||
An array with the data types of the function arguments. This includes
|
An array with the data types of the function arguments. This includes
|
||||||
only input arguments (including <literal>INOUT</literal> and
|
only input arguments (including <literal>INOUT</literal> and
|
||||||
<literal>VARIADIC</> arguments), and thus represents
|
<literal>VARIADIC</> arguments), and thus represents
|
||||||
the call signature of the function
|
the call signature of the function.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3927,7 +3933,7 @@
|
|||||||
<literal>INOUT</literal> arguments); however, if all the
|
<literal>INOUT</literal> arguments); however, if all the
|
||||||
arguments are <literal>IN</literal> arguments, this field will be null.
|
arguments are <literal>IN</literal> arguments, this field will be null.
|
||||||
Note that subscripting is 1-based, whereas for historical reasons
|
Note that subscripting is 1-based, whereas for historical reasons
|
||||||
<structfield>proargtypes</> is subscripted from 0
|
<structfield>proargtypes</> is subscripted from 0.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3945,7 +3951,7 @@
|
|||||||
If all the arguments are <literal>IN</literal> arguments,
|
If all the arguments are <literal>IN</literal> arguments,
|
||||||
this field will be null.
|
this field will be null.
|
||||||
Note that subscripts correspond to positions of
|
Note that subscripts correspond to positions of
|
||||||
<structfield>proallargtypes</> not <structfield>proargtypes</>
|
<structfield>proallargtypes</> not <structfield>proargtypes</>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3958,7 +3964,7 @@
|
|||||||
Arguments without a name are set to empty strings in the array.
|
Arguments without a name are set to empty strings in the array.
|
||||||
If none of the arguments have a name, this field will be null.
|
If none of the arguments have a name, this field will be null.
|
||||||
Note that subscripts correspond to positions of
|
Note that subscripts correspond to positions of
|
||||||
<structfield>proallargtypes</> not <structfield>proargtypes</>
|
<structfield>proallargtypes</> not <structfield>proargtypes</>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3972,7 +3978,7 @@
|
|||||||
<structfield>pronargdefaults</> elements, corresponding to the last
|
<structfield>pronargdefaults</> elements, corresponding to the last
|
||||||
<replaceable>N</> <emphasis>input</> arguments (i.e., the last
|
<replaceable>N</> <emphasis>input</> arguments (i.e., the last
|
||||||
<replaceable>N</> <structfield>proargtypes</> positions).
|
<replaceable>N</> <structfield>proargtypes</> positions).
|
||||||
If none of the arguments have defaults, this field will be null
|
If none of the arguments have defaults, this field will be null.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3984,7 +3990,7 @@
|
|||||||
This tells the function handler how to invoke the function. It
|
This tells the function handler how to invoke the function. It
|
||||||
might be the actual source code of the function for interpreted
|
might be the actual source code of the function for interpreted
|
||||||
languages, a link symbol, a file name, or just about anything
|
languages, a link symbol, a file name, or just about anything
|
||||||
else, depending on the implementation language/call convention
|
else, depending on the implementation language/call convention.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -3994,7 +4000,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Additional information about how to invoke the function.
|
Additional information about how to invoke the function.
|
||||||
Again, the interpretation is language-specific
|
Again, the interpretation is language-specific.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4276,7 +4282,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
For a table column, this is the column number (the
|
For a table column, this is the column number (the
|
||||||
<structfield>objid</> and <structfield>classid</> refer to the
|
<structfield>objid</> and <structfield>classid</> refer to the
|
||||||
table itself). For all other object types, this column is zero
|
table itself). For all other object types, this column is zero.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4548,7 +4554,7 @@
|
|||||||
of rows in the table; for example, a column in which values appear about
|
of rows in the table; for example, a column in which values appear about
|
||||||
twice on the average could be represented by
|
twice on the average could be represented by
|
||||||
<structfield>stadistinct</> = -0.5.
|
<structfield>stadistinct</> = -0.5.
|
||||||
A zero value means the number of distinct values is unknown
|
A zero value means the number of distinct values is unknown.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4559,7 +4565,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
A code number indicating the kind of statistics stored in the
|
A code number indicating the kind of statistics stored in the
|
||||||
<replaceable>N</>th <quote>slot</quote> of the
|
<replaceable>N</>th <quote>slot</quote> of the
|
||||||
<structname>pg_statistic</structname> row
|
<structname>pg_statistic</structname> row.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4571,7 +4577,7 @@
|
|||||||
An operator used to derive the statistics stored in the
|
An operator used to derive the statistics stored in the
|
||||||
<replaceable>N</>th <quote>slot</quote>. For example, a
|
<replaceable>N</>th <quote>slot</quote>. For example, a
|
||||||
histogram slot would show the <literal><</literal> operator
|
histogram slot would show the <literal><</literal> operator
|
||||||
that defines the sort order of the data
|
that defines the sort order of the data.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4581,7 +4587,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Numerical statistics of the appropriate kind for the
|
Numerical statistics of the appropriate kind for the
|
||||||
<replaceable>N</>th <quote>slot</quote>, or NULL if the slot
|
<replaceable>N</>th <quote>slot</quote>, or null if the slot
|
||||||
kind does not involve numerical values
|
kind does not involve numerical values
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -4592,11 +4598,11 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Column data values of the appropriate kind for the
|
Column data values of the appropriate kind for the
|
||||||
<replaceable>N</>th <quote>slot</quote>, or NULL if the slot
|
<replaceable>N</>th <quote>slot</quote>, or null if the slot
|
||||||
kind does not store any data values. Each array's element
|
kind does not store any data values. Each array's element
|
||||||
values are actually of the specific column's data type, so there
|
values are actually of the specific column's data type, so there
|
||||||
is no way to define these columns' type more specifically than
|
is no way to define these columns' type more specifically than
|
||||||
<type>anyarray</>
|
<type>anyarray</>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -4810,7 +4816,7 @@
|
|||||||
<entry><structfield>tgattr</structfield></entry>
|
<entry><structfield>tgattr</structfield></entry>
|
||||||
<entry><type>int2vector</type></entry>
|
<entry><type>int2vector</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attnum</literal></entry>
|
<entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attnum</literal></entry>
|
||||||
<entry>column numbers, if trigger is column-specific; otherwise an
|
<entry>Column numbers, if trigger is column-specific; otherwise an
|
||||||
empty array</entry>
|
empty array</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -4826,7 +4832,7 @@
|
|||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Expression tree (in <function>nodeToString()</function>
|
<entry>Expression tree (in <function>nodeToString()</function>
|
||||||
representation) for the trigger's <literal>WHEN</> condition, or NULL
|
representation) for the trigger's <literal>WHEN</> condition, or null
|
||||||
if none</entry>
|
if none</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -5319,7 +5325,7 @@
|
|||||||
where Datum is 8 bytes).
|
where Datum is 8 bytes).
|
||||||
Variable-length types are always passed by reference. Note that
|
Variable-length types are always passed by reference. Note that
|
||||||
<structfield>typbyval</structfield> can be false even if the
|
<structfield>typbyval</structfield> can be false even if the
|
||||||
length would allow pass-by-value
|
length would allow pass-by-value.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5335,7 +5341,7 @@
|
|||||||
<literal>e</literal> for an enum type,
|
<literal>e</literal> for an enum type,
|
||||||
or <literal>p</literal> for a pseudo-type.
|
or <literal>p</literal> for a pseudo-type.
|
||||||
See also <structfield>typrelid</structfield> and
|
See also <structfield>typrelid</structfield> and
|
||||||
<structfield>typbasetype</structfield>
|
<structfield>typbasetype</structfield>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5347,7 +5353,7 @@
|
|||||||
<structfield>typcategory</structfield> is an arbitrary classification
|
<structfield>typcategory</structfield> is an arbitrary classification
|
||||||
of data types that is used by the parser to determine which implicit
|
of data types that is used by the parser to determine which implicit
|
||||||
casts should be <quote>preferred</>.
|
casts should be <quote>preferred</>.
|
||||||
See <xref linkend="catalog-typcategory-table">
|
See <xref linkend="catalog-typcategory-table">.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5369,7 +5375,7 @@
|
|||||||
True if the type is defined, false if this is a placeholder
|
True if the type is defined, false if this is a placeholder
|
||||||
entry for a not-yet-defined type. When
|
entry for a not-yet-defined type. When
|
||||||
<structfield>typisdefined</structfield> is false, nothing
|
<structfield>typisdefined</structfield> is false, nothing
|
||||||
except the type name, namespace, and OID can be relied on
|
except the type name, namespace, and OID can be relied on.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5380,7 +5386,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
Character that separates two values of this type when parsing
|
Character that separates two values of this type when parsing
|
||||||
array input. Note that the delimiter is associated with the array
|
array input. Note that the delimiter is associated with the array
|
||||||
element data type, not the array data type
|
element data type, not the array data type.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5396,7 +5402,7 @@
|
|||||||
<structname>pg_class</structname> entry doesn't really represent
|
<structname>pg_class</structname> entry doesn't really represent
|
||||||
a table, but it is needed anyway for the type's
|
a table, but it is needed anyway for the type's
|
||||||
<structname>pg_attribute</structname> entries to link to.)
|
<structname>pg_attribute</structname> entries to link to.)
|
||||||
Zero for non-composite types
|
Zero for non-composite types.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5418,7 +5424,7 @@
|
|||||||
its internal representation must be some number of values of the
|
its internal representation must be some number of values of the
|
||||||
<structfield>typelem</structfield> data type with no other data.
|
<structfield>typelem</structfield> data type with no other data.
|
||||||
Variable-length array types have a header defined by the array
|
Variable-length array types have a header defined by the array
|
||||||
subroutines
|
subroutines.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5479,7 +5485,7 @@
|
|||||||
<entry><structfield>typanalyze</structfield></entry>
|
<entry><structfield>typanalyze</structfield></entry>
|
||||||
<entry><type>regproc</type></entry>
|
<entry><type>regproc</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
|
<entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
|
||||||
<entry>Custom ANALYZE function, or 0 to use the standard function</entry>
|
<entry>Custom <command>ANALYZE</command> function, or 0 to use the standard function</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
@ -5565,7 +5571,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry><para>
|
<entry><para>
|
||||||
<structfield>typnotnull</structfield> represents a not-null
|
<structfield>typnotnull</structfield> represents a not-null
|
||||||
constraint on a type. Used for domains only
|
constraint on a type. Used for domains only.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5576,7 +5582,7 @@
|
|||||||
<entry><para>
|
<entry><para>
|
||||||
If this is a domain (see <structfield>typtype</structfield>), then
|
If this is a domain (see <structfield>typtype</structfield>), then
|
||||||
<structfield>typbasetype</structfield> identifies the type that this
|
<structfield>typbasetype</structfield> identifies the type that this
|
||||||
one is based on. Zero if this type is not a domain
|
one is based on. Zero if this type is not a domain.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5587,7 +5593,7 @@
|
|||||||
<entry><para>
|
<entry><para>
|
||||||
Domains use <structfield>typtypmod</structfield> to record the <literal>typmod</>
|
Domains use <structfield>typtypmod</structfield> to record the <literal>typmod</>
|
||||||
to be applied to their base type (-1 if base type does not use a
|
to be applied to their base type (-1 if base type does not use a
|
||||||
<literal>typmod</>). -1 if this type is not a domain
|
<literal>typmod</>). -1 if this type is not a domain.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5600,7 +5606,7 @@
|
|||||||
for a domain that is an array (that is, <structfield>typbasetype</> is
|
for a domain that is an array (that is, <structfield>typbasetype</> is
|
||||||
an array type; the domain's <structfield>typelem</> will match the base
|
an array type; the domain's <structfield>typelem</> will match the base
|
||||||
type's <structfield>typelem</structfield>).
|
type's <structfield>typelem</structfield>).
|
||||||
Zero for types other than domains over array types
|
Zero for types other than domains over array types.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5611,7 +5617,7 @@
|
|||||||
<entry><para>
|
<entry><para>
|
||||||
If <structfield>typdefaultbin</> is not null, it is the <function>nodeToString()</function>
|
If <structfield>typdefaultbin</> is not null, it is the <function>nodeToString()</function>
|
||||||
representation of a default expression for the type. This is
|
representation of a default expression for the type. This is
|
||||||
only used for domains
|
only used for domains.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -5627,7 +5633,7 @@
|
|||||||
<structfield>typdefaultbin</> is null and <structfield>typdefault</> is
|
<structfield>typdefaultbin</> is null and <structfield>typdefault</> is
|
||||||
not, then <structfield>typdefault</> is the external representation of
|
not, then <structfield>typdefault</> is the external representation of
|
||||||
the type's default value, which might be fed to the type's input
|
the type's default value, which might be fed to the type's input
|
||||||
converter to produce a constant
|
converter to produce a constant.
|
||||||
</para></entry>
|
</para></entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -5766,7 +5772,7 @@
|
|||||||
<entry><type>text[]</type></entry>
|
<entry><type>text[]</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
User mapping specific options, as <quote>keyword=value</> strings.
|
User mapping specific options, as <quote>keyword=value</> strings
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -6126,7 +6132,7 @@
|
|||||||
<entry><structfield>tablespace</structfield></entry>
|
<entry><structfield>tablespace</structfield></entry>
|
||||||
<entry><type>name</type></entry>
|
<entry><type>name</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
|
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
|
||||||
<entry>Name of tablespace containing index (NULL if default for database)</entry>
|
<entry>Name of tablespace containing index (null if default for database)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>indexdef</structfield></entry>
|
<entry><structfield>indexdef</structfield></entry>
|
||||||
@ -6193,7 +6199,7 @@
|
|||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
type of the lockable object:
|
Type of the lockable object:
|
||||||
<literal>relation</>,
|
<literal>relation</>,
|
||||||
<literal>extend</>,
|
<literal>extend</>,
|
||||||
<literal>page</>,
|
<literal>page</>,
|
||||||
@ -6212,7 +6218,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
OID of the database in which the object exists, or
|
OID of the database in which the object exists, or
|
||||||
zero if the object is a shared object, or
|
zero if the object is a shared object, or
|
||||||
NULL if the object is a transaction ID
|
null if the object is a transaction ID
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6220,7 +6226,7 @@
|
|||||||
<entry><type>oid</type></entry>
|
<entry><type>oid</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
||||||
<entry>
|
<entry>
|
||||||
OID of the relation, or NULL if the object is not
|
OID of the relation, or null if the object is not
|
||||||
a relation or part of a relation
|
a relation or part of a relation
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -6229,7 +6235,7 @@
|
|||||||
<entry><type>integer</type></entry>
|
<entry><type>integer</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Page number within the relation, or NULL if the object
|
Page number within the relation, or null if the object
|
||||||
is not a tuple or relation page
|
is not a tuple or relation page
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -6238,7 +6244,7 @@
|
|||||||
<entry><type>smallint</type></entry>
|
<entry><type>smallint</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Tuple number within the page, or NULL if the object is not a tuple
|
Tuple number within the page, or null if the object is not a tuple
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6246,7 +6252,7 @@
|
|||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Virtual ID of a transaction, or NULL if the object is not a
|
Virtual ID of a transaction, or null if the object is not a
|
||||||
virtual transaction ID
|
virtual transaction ID
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -6255,7 +6261,7 @@
|
|||||||
<entry><type>xid</type></entry>
|
<entry><type>xid</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
ID of a transaction, or NULL if the object is not a transaction ID
|
ID of a transaction, or null if the object is not a transaction ID
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6263,7 +6269,7 @@
|
|||||||
<entry><type>oid</type></entry>
|
<entry><type>oid</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
|
||||||
<entry>
|
<entry>
|
||||||
OID of the system catalog containing the object, or NULL if the
|
OID of the system catalog containing the object, or null if the
|
||||||
object is not a general database object
|
object is not a general database object
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -6272,7 +6278,7 @@
|
|||||||
<entry><type>oid</type></entry>
|
<entry><type>oid</type></entry>
|
||||||
<entry>any OID column</entry>
|
<entry>any OID column</entry>
|
||||||
<entry>
|
<entry>
|
||||||
OID of the object within its system catalog, or NULL if the
|
OID of the object within its system catalog, or null if the
|
||||||
object is not a general database object.
|
object is not a general database object.
|
||||||
For advisory locks it is used to distinguish the two key
|
For advisory locks it is used to distinguish the two key
|
||||||
spaces (<literal>1</> for an int8 key, <literal>2</> for two
|
spaces (<literal>1</> for an int8 key, <literal>2</> for two
|
||||||
@ -6287,7 +6293,7 @@
|
|||||||
For a table column, this is the column number (the
|
For a table column, this is the column number (the
|
||||||
<structfield>classid</> and <structfield>objid</> refer to the
|
<structfield>classid</> and <structfield>objid</> refer to the
|
||||||
table itself). For all other object types, this column is
|
table itself). For all other object types, this column is
|
||||||
zero. NULL if the object is not a general database object
|
zero. Null if the object is not a general database object
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6304,7 +6310,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Process ID of the server process holding or awaiting this
|
Process ID of the server process holding or awaiting this
|
||||||
lock. NULL if the lock is held by a prepared transaction
|
lock. Null if the lock is held by a prepared transaction.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6452,7 +6458,7 @@
|
|||||||
this is the <command>PREPARE</command> statement submitted by
|
this is the <command>PREPARE</command> statement submitted by
|
||||||
the client. For prepared statements created via the
|
the client. For prepared statements created via the
|
||||||
frontend/backend protocol, this is the text of the prepared
|
frontend/backend protocol, this is the text of the prepared
|
||||||
statement itself
|
statement itself.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6469,7 +6475,7 @@
|
|||||||
The expected parameter types for the prepared statement in the
|
The expected parameter types for the prepared statement in the
|
||||||
form of an array of <type>regtype</type>. The OID corresponding
|
form of an array of <type>regtype</type>. The OID corresponding
|
||||||
to an element of this array can be obtained by casting the
|
to an element of this array can be obtained by casting the
|
||||||
<type>regtype</type> value to <type>oid</type>
|
<type>regtype</type> value to <type>oid</type>.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6675,7 +6681,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
For roles that can log in, this sets maximum number of concurrent
|
For roles that can log in, this sets maximum number of concurrent
|
||||||
connections this role can make. -1 means no limit
|
connections this role can make. -1 means no limit.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -6691,7 +6697,7 @@
|
|||||||
<entry><type>timestamptz</type></entry>
|
<entry><type>timestamptz</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>Password expiry time (only used for password authentication);
|
<entry>Password expiry time (only used for password authentication);
|
||||||
NULL if no expiration</entry>
|
null if no expiration</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
@ -6845,19 +6851,19 @@
|
|||||||
<row>
|
<row>
|
||||||
<entry><structfield>min_val</structfield></entry>
|
<entry><structfield>min_val</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Minimum allowed value of the parameter (NULL for non-numeric
|
<entry>Minimum allowed value of the parameter (null for non-numeric
|
||||||
values)</entry>
|
values)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>max_val</structfield></entry>
|
<entry><structfield>max_val</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Maximum allowed value of the parameter (NULL for non-numeric
|
<entry>Maximum allowed value of the parameter (null for non-numeric
|
||||||
values)</entry>
|
values)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>enumvals</structfield></entry>
|
<entry><structfield>enumvals</structfield></entry>
|
||||||
<entry><type>text[]</type></entry>
|
<entry><type>text[]</type></entry>
|
||||||
<entry>Allowed values of an enum parameter (NULL for non-enum
|
<entry>Allowed values of an enum parameter (null for non-enum
|
||||||
values)</entry>
|
values)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
@ -6875,16 +6881,16 @@
|
|||||||
<row>
|
<row>
|
||||||
<entry><structfield>sourcefile</structfield></entry>
|
<entry><structfield>sourcefile</structfield></entry>
|
||||||
<entry><type>text</type></entry>
|
<entry><type>text</type></entry>
|
||||||
<entry>Configuration file the current value was set in (NULL for
|
<entry>Configuration file the current value was set in (null for
|
||||||
values set from sources other than configuration files, or when
|
values set from sources other than configuration files, or when
|
||||||
examined by a non-superuser).
|
examined by a non-superuser);
|
||||||
Helpful when using configuration include directives</entry>
|
helpful when using <literal>include</> directives in configuration files</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>sourceline</structfield></entry>
|
<entry><structfield>sourceline</structfield></entry>
|
||||||
<entry><type>integer</type></entry>
|
<entry><type>integer</type></entry>
|
||||||
<entry>Line number within the configuration file the current value was
|
<entry>Line number within the configuration file the current value was
|
||||||
set at (NULL for values set from sources other than configuration files,
|
set at (null for values set from sources other than configuration files,
|
||||||
or when examined by a non-superuser)
|
or when examined by a non-superuser)
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -7101,7 +7107,7 @@
|
|||||||
likely to increase as the table grows; the positive form is used when
|
likely to increase as the table grows; the positive form is used when
|
||||||
the column seems to have a fixed number of possible values.) For
|
the column seems to have a fixed number of possible values.) For
|
||||||
example, -1 indicates a unique column in which the number of distinct
|
example, -1 indicates a unique column in which the number of distinct
|
||||||
values is the same as the number of rows
|
values is the same as the number of rows.
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -7110,7 +7116,7 @@
|
|||||||
<entry><type>anyarray</type></entry>
|
<entry><type>anyarray</type></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry>
|
<entry>
|
||||||
A list of the most common values in the column. (NULL if
|
A list of the most common values in the column. (Null if
|
||||||
no values seem to be more common than any others.)
|
no values seem to be more common than any others.)
|
||||||
For some data types such as <type>tsvector</>, this is a list of
|
For some data types such as <type>tsvector</>, this is a list of
|
||||||
the most common element values rather than values of the type itself.
|
the most common element values rather than values of the type itself.
|
||||||
@ -7124,7 +7130,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
A list of the frequencies of the most common values or elements,
|
A list of the frequencies of the most common values or elements,
|
||||||
i.e., number of occurrences of each divided by total number of rows.
|
i.e., number of occurrences of each divided by total number of rows.
|
||||||
(NULL when <structfield>most_common_vals</structfield> is.)
|
(Null when <structfield>most_common_vals</structfield> is.)
|
||||||
For some data types such as <type>tsvector</>, it can also store some
|
For some data types such as <type>tsvector</>, it can also store some
|
||||||
additional information, making it longer than the
|
additional information, making it longer than the
|
||||||
<structfield>most_common_vals</> array.
|
<structfield>most_common_vals</> array.
|
||||||
@ -7139,7 +7145,7 @@
|
|||||||
A list of values that divide the column's values into groups of
|
A list of values that divide the column's values into groups of
|
||||||
approximately equal population. The values in
|
approximately equal population. The values in
|
||||||
<structfield>most_common_vals</>, if present, are omitted from this
|
<structfield>most_common_vals</>, if present, are omitted from this
|
||||||
histogram calculation. (This column is NULL if the column data type
|
histogram calculation. (This column is null if the column data type
|
||||||
does not have a <literal><</> operator or if the
|
does not have a <literal><</> operator or if the
|
||||||
<structfield>most_common_vals</> list accounts for the entire
|
<structfield>most_common_vals</> list accounts for the entire
|
||||||
population.)
|
population.)
|
||||||
@ -7155,7 +7161,7 @@
|
|||||||
logical ordering of the column values. This ranges from -1 to +1.
|
logical ordering of the column values. This ranges from -1 to +1.
|
||||||
When the value is near -1 or +1, an index scan on the column will
|
When the value is near -1 or +1, an index scan on the column will
|
||||||
be estimated to be cheaper than when it is near zero, due to reduction
|
be estimated to be cheaper than when it is near zero, due to reduction
|
||||||
of random access to the disk. (This column is NULL if the column data
|
of random access to the disk. (This column is null if the column data
|
||||||
type does not have a <literal><</> operator.)
|
type does not have a <literal><</> operator.)
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -7220,25 +7226,25 @@
|
|||||||
<entry><structfield>tablespace</structfield></entry>
|
<entry><structfield>tablespace</structfield></entry>
|
||||||
<entry><type>name</type></entry>
|
<entry><type>name</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
|
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
|
||||||
<entry>Name of tablespace containing table (NULL if default for database)</entry>
|
<entry>Name of tablespace containing table (null if default for database)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>hasindexes</structfield></entry>
|
<entry><structfield>hasindexes</structfield></entry>
|
||||||
<entry><type>boolean</type></entry>
|
<entry><type>boolean</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhasindex</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhasindex</literal></entry>
|
||||||
<entry>true if table has (or recently had) any indexes</entry>
|
<entry>True if table has (or recently had) any indexes</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>hasrules</structfield></entry>
|
<entry><structfield>hasrules</structfield></entry>
|
||||||
<entry><type>boolean</type></entry>
|
<entry><type>boolean</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhasrules</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhasrules</literal></entry>
|
||||||
<entry>true if table has (or once had) rules</entry>
|
<entry>True if table has (or once had) rules</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><structfield>hastriggers</structfield></entry>
|
<entry><structfield>hastriggers</structfield></entry>
|
||||||
<entry><type>boolean</type></entry>
|
<entry><type>boolean</type></entry>
|
||||||
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhastriggers</literal></entry>
|
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relhastriggers</literal></entry>
|
||||||
<entry>true if table has (or once had) triggers</entry>
|
<entry>True if table has (or once had) triggers</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@ -7509,7 +7515,7 @@
|
|||||||
<entry>
|
<entry>
|
||||||
User mapping specific options, as <quote>keyword=value</>
|
User mapping specific options, as <quote>keyword=value</>
|
||||||
strings, if the current user is the owner of the foreign
|
strings, if the current user is the owner of the foreign
|
||||||
server, else null.
|
server, else null
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/chkpass.sgml,v 1.2 2007/12/06 04:12:09 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/chkpass.sgml,v 1.3 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="chkpass">
|
<sect1 id="chkpass">
|
||||||
<title>chkpass</title>
|
<title>chkpass</title>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
passwords without re-encrypting them. If you want the encrypted password
|
passwords without re-encrypting them. If you want the encrypted password
|
||||||
without the colon then use the <function>raw()</> function.
|
without the colon then use the <function>raw()</> function.
|
||||||
This allows you to use the
|
This allows you to use the
|
||||||
type with things like Apache's Auth_PostgreSQL module.
|
type with things like Apache's <literal>Auth_PostgreSQL</> module.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that the chkpass data type is not indexable.
|
Note that the <type>chkpass</type> data type is not indexable.
|
||||||
<!--
|
<!--
|
||||||
I haven't worried about making this type indexable. I doubt that anyone
|
I haven't worried about making this type indexable. I doubt that anyone
|
||||||
would ever need to sort a file in order of encrypted password.
|
would ever need to sort a file in order of encrypted password.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/citext.sgml,v 1.5 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/citext.sgml,v 1.6 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="citext">
|
<sect1 id="citext">
|
||||||
<title>citext</title>
|
<title>citext</title>
|
||||||
@ -90,8 +90,8 @@ SELECT * FROM users WHERE nick = 'Larry';
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
The <command>SELECT</> statement will return one tuple, even though
|
The <command>SELECT</> statement will return one tuple, even though
|
||||||
the <structfield>nick</> column was set to <quote>larry</> and the query
|
the <structfield>nick</> column was set to <literal>larry</> and the query
|
||||||
was for <quote>Larry</>.
|
was for <literal>Larry</>.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
@ -184,7 +184,7 @@ SELECT * FROM users WHERE nick = 'Larry';
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<type>citext</> is not as efficient as <type>text</> because the
|
<type>citext</> is not as efficient as <type>text</> because the
|
||||||
operator functions and the btree comparison functions must make copies
|
operator functions and the B-tree comparison functions must make copies
|
||||||
of the data and convert it to lower case for comparisons. It is,
|
of the data and convert it to lower case for comparisons. It is,
|
||||||
however, slightly more efficient than using <function>lower</> to get
|
however, slightly more efficient than using <function>lower</> to get
|
||||||
case-insensitive matching.
|
case-insensitive matching.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.140 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.141 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="client-authentication">
|
<chapter id="client-authentication">
|
||||||
<title>Client Authentication</title>
|
<title>Client Authentication</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.303 2010/08/03 19:02:21 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.304 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter Id="runtime-config">
|
<chapter Id="runtime-config">
|
||||||
<title>Server Configuration</title>
|
<title>Server Configuration</title>
|
||||||
@ -1495,7 +1495,7 @@ SET ENABLE_SEQSCAN TO OFF;
|
|||||||
one transaction is determined by the setting in effect when it
|
one transaction is determined by the setting in effect when it
|
||||||
commits. It is therefore possible, and useful, to have some
|
commits. It is therefore possible, and useful, to have some
|
||||||
transactions commit synchronously and others asynchronously.
|
transactions commit synchronously and others asynchronously.
|
||||||
For example, to make a single multi-statement transaction commit
|
For example, to make a single multistatement transaction commit
|
||||||
asynchronously when the default is the opposite, issue <command>SET
|
asynchronously when the default is the opposite, issue <command>SET
|
||||||
LOCAL synchronous_commit TO OFF</> within the transaction.
|
LOCAL synchronous_commit TO OFF</> within the transaction.
|
||||||
</para>
|
</para>
|
||||||
@ -3407,9 +3407,8 @@ local0.* /var/log/postgresql
|
|||||||
fields to displayed messages. <literal>TERSE</> excludes
|
fields to displayed messages. <literal>TERSE</> excludes
|
||||||
the logging of <literal>DETAIL</>, <literal>HINT</>,
|
the logging of <literal>DETAIL</>, <literal>HINT</>,
|
||||||
<literal>QUERY</>, and <literal>CONTEXT</> error information.
|
<literal>QUERY</>, and <literal>CONTEXT</> error information.
|
||||||
<literal>VERBOSE</> output includes the <link
|
<literal>VERBOSE</> output includes the <symbol>SQLSTATE</> error
|
||||||
linkend="errcodes-appendix">SQLSTATE</> error
|
code (see also <xref linkend="errcodes-appendix">) and the source code file name, function name,
|
||||||
code and the source code file name, function name,
|
|
||||||
and line number that generated the error.
|
and line number that generated the error.
|
||||||
Only superusers can change this setting.
|
Only superusers can change this setting.
|
||||||
</para>
|
</para>
|
||||||
@ -5492,7 +5491,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
|
|||||||
the server. The default value of <literal>NAMEDATALEN</> is
|
the server. The default value of <literal>NAMEDATALEN</> is
|
||||||
64; therefore the default
|
64; therefore the default
|
||||||
<varname>max_identifier_length</varname> is 63 bytes, which
|
<varname>max_identifier_length</varname> is 63 bytes, which
|
||||||
can be less than 63 characters when using multi-byte encodings.
|
can be less than 63 characters when using multibyte encodings.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -5823,7 +5822,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
|
|||||||
wait(0) type(INVALID)
|
wait(0) type(INVALID)
|
||||||
</screen>
|
</screen>
|
||||||
Details of the structure being dumped may be found in
|
Details of the structure being dumped may be found in
|
||||||
src/include/storage/lock.h
|
<filename>src/include/storage/lock.h</filename>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This parameter is only available if the <symbol>LOCK_DEBUG</symbol>
|
This parameter is only available if the <symbol>LOCK_DEBUG</symbol>
|
||||||
@ -5917,7 +5916,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If set, dumps information about all current locks when a
|
If set, dumps information about all current locks when a
|
||||||
DeadLockTimeout occurs.
|
deadlock timeout occurs.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This parameter is only available if the <symbol>LOCK_DEBUG</symbol>
|
This parameter is only available if the <symbol>LOCK_DEBUG</symbol>
|
||||||
@ -5935,7 +5934,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If set, logs system resource usage statistics (memory and CPU) on
|
If set, logs system resource usage statistics (memory and CPU) on
|
||||||
various btree operations.
|
various B-tree operations.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This parameter is only available if the <symbol>BTREE_BUILD_STATS</symbol>
|
This parameter is only available if the <symbol>BTREE_BUILD_STATS</symbol>
|
||||||
@ -5981,7 +5980,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
|
|||||||
to the log. The default is <literal>WARNING</>. Note that
|
to the log. The default is <literal>WARNING</>. Note that
|
||||||
<literal>LOG</> has a different rank here than in
|
<literal>LOG</> has a different rank here than in
|
||||||
<varname>client_min_messages</>.
|
<varname>client_min_messages</>.
|
||||||
Parameter should be set in the postgresql.conf only.
|
Parameter should be set in <filename>postgresql.conf</filename> only.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/contrib-spi.sgml,v 1.2 2007/12/06 04:12:09 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/contrib-spi.sgml,v 1.3 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="contrib-spi">
|
<sect1 id="contrib-spi">
|
||||||
<title>spi</title>
|
<title>spi</title>
|
||||||
@ -133,8 +133,8 @@ CREATE TABLE mytab (
|
|||||||
<para>
|
<para>
|
||||||
<function>set_timetravel()</> allows you to turn time-travel on or off for
|
<function>set_timetravel()</> allows you to turn time-travel on or off for
|
||||||
a table.
|
a table.
|
||||||
<literal>set_timetravel('mytab', 1)</> will turn TT ON for table mytab.
|
<literal>set_timetravel('mytab', 1)</> will turn TT ON for table <literal>mytab</>.
|
||||||
<literal>set_timetravel('mytab', 0)</> will turn TT OFF for table mytab.
|
<literal>set_timetravel('mytab', 0)</> will turn TT OFF for table <literal>mytab</>.
|
||||||
In both cases the old status is reported. While TT is off, you can modify
|
In both cases the old status is reported. While TT is off, you can modify
|
||||||
the start_date and stop_date columns freely. Note that the on/off status
|
the start_date and stop_date columns freely. Note that the on/off status
|
||||||
is local to the current database session — fresh sessions will
|
is local to the current database session — fresh sessions will
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/cube.sgml,v 1.8 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/cube.sgml,v 1.9 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="cube">
|
<sect1 id="cube">
|
||||||
<title>cube</title>
|
<title>cube</title>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
This module implements a data type <type>cube</> for
|
This module implements a data type <type>cube</> for
|
||||||
representing multi-dimensional cubes.
|
representing multidimensional cubes.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
@ -98,7 +98,7 @@
|
|||||||
<para>
|
<para>
|
||||||
The <filename>cube</> module includes a GiST index operator class for
|
The <filename>cube</> module includes a GiST index operator class for
|
||||||
<type>cube</> values.
|
<type>cube</> values.
|
||||||
The operators supported by the GiST opclass are shown in <xref linkend="cube-gist-operators">.
|
The operators supported by the GiST operator class are shown in <xref linkend="cube-gist-operators">.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<table id="cube-gist-operators">
|
<table id="cube-gist-operators">
|
||||||
@ -339,7 +339,7 @@ cube_inter
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
In all binary operations on differently-dimensioned cubes, I assume the
|
In all binary operations on differently-dimensioned cubes, I assume the
|
||||||
lower-dimensional one to be a cartesian projection, i. e., having zeroes
|
lower-dimensional one to be a Cartesian projection, i. e., having zeroes
|
||||||
in place of coordinates omitted in the string representation. The above
|
in place of coordinates omitted in the string representation. The above
|
||||||
examples are equivalent to:
|
examples are equivalent to:
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/cvs.sgml,v 1.52 2009/12/07 19:19:56 mha Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/cvs.sgml,v 1.53 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<appendix id="cvs">
|
<appendix id="cvs">
|
||||||
<appendixinfo>
|
<appendixinfo>
|
||||||
@ -35,14 +35,14 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Using <productname>git</> is the most flexible way to work with the source, and it
|
Using <productname>Git</> is the most flexible way to work with the source, and it
|
||||||
allows you to work offline without having constant access to the project servers.
|
allows you to work offline without having constant access to the project servers.
|
||||||
<productname>rsync</> based <productname>cvs</> also lets you work offline, but
|
<productname>rsync</> based <productname>CVS</> also lets you work offline, but
|
||||||
lacks many of the other advantages of <productname>git</>.
|
lacks many of the other advantages of <productname>Git</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Our Wiki, <ulink
|
Our wiki, <ulink
|
||||||
url="http://wiki.postgresql.org/wiki/Working_with_CVS"></ulink> and
|
url="http://wiki.postgresql.org/wiki/Working_with_CVS"></ulink> and
|
||||||
<ulink url="http://wiki.postgresql.org/wiki/Working_with_Git"></ulink>,
|
<ulink url="http://wiki.postgresql.org/wiki/Working_with_Git"></ulink>,
|
||||||
has additional details on working with CVS and Git.
|
has additional details on working with CVS and Git.
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<title>Getting The Source Via <productname>Git</></title>
|
<title>Getting The Source Via <productname>Git</></title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
With <productname>git</> you will make a copy of the entire code repository
|
With <productname>Git</> you will make a copy of the entire code repository
|
||||||
to your local machine, so you will have access to all history and branches
|
to your local machine, so you will have access to all history and branches
|
||||||
offline. This is the fastest and most flexible way to develop or test
|
offline. This is the fastest and most flexible way to develop or test
|
||||||
patches.
|
patches.
|
||||||
@ -63,35 +63,35 @@
|
|||||||
|
|
||||||
<step>
|
<step>
|
||||||
<para>
|
<para>
|
||||||
You will need an installed version of <productname>git</>, which you can get
|
You will need an installed version of <productname>Git</>, which you can get
|
||||||
from <ulink url="http://git-scm.com"></ulink>. Many systems also have a recent
|
from <ulink url="http://git-scm.com"></ulink>. Many systems also have a recent
|
||||||
version of <application>git</> installed by default, or available in their
|
version of <application>Git</> installed by default, or available in their
|
||||||
package repository system.
|
package repository system.
|
||||||
</para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step>
|
<step>
|
||||||
<para>
|
<para>
|
||||||
To being using the git repository, make a clone of the official mirror:
|
To being using the Git repository, make a clone of the official mirror:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
git clone git://git.postgresql.org/git/postgresql.git
|
git clone git://git.postgresql.org/git/postgresql.git
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
This will copy the full repository to your local machine, so it may take
|
This will copy the full repository to your local machine, so it may take
|
||||||
a while to complete, especially if you have a slow internet connection.
|
a while to complete, especially if you have a slow Internet connection.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The git mirror can also be reached via the http protocol in case for example
|
The Git mirror can also be reached via the HTTP protocol in case for example
|
||||||
a firewall is blocking access to the git protocol. Just replace the URL
|
a firewall is blocking access to the Git protocol. Just replace the URL
|
||||||
like:
|
like:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
git clone http://git.postgresql.org/git/postgresql.git
|
git clone http://git.postgresql.org/git/postgresql.git
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
The http protocol is less efficient than the git protocol, so it will be
|
The HTTP protocol is less efficient than the Git protocol, so it will be
|
||||||
slightly slower to use.
|
slightly slower to use.
|
||||||
</para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
@ -108,7 +108,7 @@ git fetch
|
|||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
<para>
|
<para>
|
||||||
<productname>git</> can do a lot more things than just fetch the source. For
|
<productname>Git</> can do a lot more things than just fetch the source. For
|
||||||
more information, consult the man pages for the product, or the website at
|
more information, consult the man pages for the product, or the website at
|
||||||
<ulink url="http://git-scm.com"></>.
|
<ulink url="http://git-scm.com"></>.
|
||||||
</para>
|
</para>
|
||||||
@ -226,7 +226,7 @@ cvs update
|
|||||||
CVS repository. To work around that deficiency, use
|
CVS repository. To work around that deficiency, use
|
||||||
<productname>cvsutils</productname>, which is packaged in several
|
<productname>cvsutils</productname>, which is packaged in several
|
||||||
operating systems, and is available in source form at <ulink
|
operating systems, and is available in source form at <ulink
|
||||||
url="http://www.red-bean.com/cvsutils/"></ulink>, or use <productname>git</>
|
url="http://www.red-bean.com/cvsutils/"></ulink>, or use <productname>Git</>
|
||||||
or another system designed to work offline.
|
or another system designed to work offline.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ rsync -avzH --delete anoncvs.postgresql.org::pgsql-cvs cvsroot/
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
For full instructions, see the "rsync" section in the
|
For full instructions, see the "rsync" section in the
|
||||||
<ulink url="http://pgfoundry.org/docman/view.php/1000040/4/PGBuildFarm-HOWTO.txt">
|
<ulink url="http://pgfoundry.org/docman/view.php/1000040/4/PGBuildFarm-HOWTO.txt">
|
||||||
pgbuildfarm instructions</ulink>.
|
PostgreSQL Build Farm instructions</ulink>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
</appendix>
|
</appendix>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.256 2010/08/10 20:41:27 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.257 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="datatype">
|
<chapter id="datatype">
|
||||||
<title>Data Types</title>
|
<title>Data Types</title>
|
||||||
@ -3792,7 +3792,7 @@ SELECT to_tsvector('english', 'The Fat Rats');
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
A <type>tsquery</type> value stores lexemes that are to be
|
A <type>tsquery</type> value stores lexemes that are to be
|
||||||
searched for, and combines them honoring the boolean operators
|
searched for, and combines them honoring the Boolean operators
|
||||||
<literal>&</literal> (AND), <literal>|</literal> (OR), and
|
<literal>&</literal> (AND), <literal>|</literal> (OR), and
|
||||||
<literal>!</> (NOT). Parentheses can be used to enforce grouping
|
<literal>!</> (NOT). Parentheses can be used to enforce grouping
|
||||||
of the operators:
|
of the operators:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/dblink.sgml,v 1.14 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/dblink.sgml,v 1.15 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="dblink">
|
<sect1 id="dblink">
|
||||||
<title>dblink</title>
|
<title>dblink</title>
|
||||||
@ -1320,7 +1320,7 @@ dblink_get_notify(text connname) returns setof (notify_name text, be_pid int, ex
|
|||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Return Value</title>
|
<title>Return Value</title>
|
||||||
<para>Returns setof (notify_name text, be_pid int, extra text), or an empty set if none.</para>
|
<para>Returns <type>setof (notify_name text, be_pid int, extra text)</type>, or an empty set if none.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/diskusage.sgml,v 1.20 2010/02/07 20:48:09 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/diskusage.sgml,v 1.21 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="diskusage">
|
<chapter id="diskusage">
|
||||||
<title>Monitoring Disk Usage</title>
|
<title>Monitoring Disk Usage</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/docguide.sgml,v 1.85 2010/06/12 09:55:12 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/docguide.sgml,v 1.86 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<appendix id="docguide">
|
<appendix id="docguide">
|
||||||
<title>Documentation</title>
|
<title>Documentation</title>
|
||||||
@ -241,7 +241,7 @@
|
|||||||
<para>
|
<para>
|
||||||
It's possible that the ports do not update the main catalog file
|
It's possible that the ports do not update the main catalog file
|
||||||
in <filename>/usr/local/share/sgml/catalog.ports</filename> or order
|
in <filename>/usr/local/share/sgml/catalog.ports</filename> or order
|
||||||
isn't proper . Be sure to have the following lines in begining of file:
|
isn't proper . Be sure to have the following lines in beginning of file:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
CATALOG "openjade/catalog"
|
CATALOG "openjade/catalog"
|
||||||
CATALOG "iso8879/catalog"
|
CATALOG "iso8879/catalog"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/earthdistance.sgml,v 1.3 2007/12/06 04:12:10 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/earthdistance.sgml,v 1.4 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="earthdistance">
|
<sect1 id="earthdistance">
|
||||||
<title>earthdistance</title>
|
<title>earthdistance</title>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
The radius of the Earth is obtained from the <function>earth()</>
|
The radius of the Earth is obtained from the <function>earth()</>
|
||||||
function. It is given in meters. But by changing this one function you can
|
function. It is given in meters. But by changing this one function you can
|
||||||
change the module to use some other units, or to use a different value of
|
change the module to use some other units, or to use a different value of
|
||||||
the radius that you feel is more appropiate.
|
the radius that you feel is more appropriate.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.103 2010/08/11 19:03:16 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.104 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="ecpg">
|
<chapter id="ecpg">
|
||||||
<title><application>ECPG</application> - Embedded <acronym>SQL</acronym> in C</title>
|
<title><application>ECPG</application> - Embedded <acronym>SQL</acronym> in C</title>
|
||||||
@ -825,7 +825,7 @@ numeric *PGTYPESnumeric_from_asc(char *str, char **endptr);
|
|||||||
<literal>592.49E07</literal> or
|
<literal>592.49E07</literal> or
|
||||||
<literal>-32.84e-4</literal>.
|
<literal>-32.84e-4</literal>.
|
||||||
If the value could be parsed successfully, a valid pointer is returned,
|
If the value could be parsed successfully, a valid pointer is returned,
|
||||||
else the NULL pointer. At the moment ecpg always parses the complete
|
else the NULL pointer. At the moment ECPG always parses the complete
|
||||||
string and so it currently does not support to store the address of the
|
string and so it currently does not support to store the address of the
|
||||||
first invalid character in <literal>*endptr</literal>. You can safely
|
first invalid character in <literal>*endptr</literal>. You can safely
|
||||||
set <literal>endptr</literal> to NULL.
|
set <literal>endptr</literal> to NULL.
|
||||||
@ -1127,14 +1127,14 @@ date PGTYPESdate_from_timestamp(timestamp dt);
|
|||||||
date PGTYPESdate_from_asc(char *str, char **endptr);
|
date PGTYPESdate_from_asc(char *str, char **endptr);
|
||||||
</synopsis>
|
</synopsis>
|
||||||
The function receives a C char* string <literal>str</> and a pointer to
|
The function receives a C char* string <literal>str</> and a pointer to
|
||||||
a C char* string <literal>endptr</>. At the moment ecpg always parses
|
a C char* string <literal>endptr</>. At the moment ECPG always parses
|
||||||
the complete string and so it currently does not support to store the
|
the complete string and so it currently does not support to store the
|
||||||
address of the first invalid character in <literal>*endptr</literal>.
|
address of the first invalid character in <literal>*endptr</literal>.
|
||||||
You can safely set <literal>endptr</literal> to NULL.
|
You can safely set <literal>endptr</literal> to NULL.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Note that the function always assumes MDY-formatted dates and there is
|
Note that the function always assumes MDY-formatted dates and there is
|
||||||
currently no variable to change that within ecpg.
|
currently no variable to change that within ECPG.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<xref linkend="ecpg-pgtypesdate-from-asc-table"> shows the allowed input formats.
|
<xref linkend="ecpg-pgtypesdate-from-asc-table"> shows the allowed input formats.
|
||||||
@ -1401,8 +1401,8 @@ int PGTYPESdate_fmt_asc(date dDate, char *fmtstring, char *outbuf);
|
|||||||
<tgroup cols="2">
|
<tgroup cols="2">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>fmt</entry>
|
<entry>Format</entry>
|
||||||
<entry>result</entry>
|
<entry>Result</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -1464,7 +1464,7 @@ int PGTYPESdate_fmt_asc(date dDate, char *fmtstring, char *outbuf);
|
|||||||
<term><function>PGTYPESdate_defmt_asc</function></term>
|
<term><function>PGTYPESdate_defmt_asc</function></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Use a format mask to convert a C char* string to a value of type
|
Use a format mask to convert a C <type>char*</type> string to a value of type
|
||||||
date.
|
date.
|
||||||
<synopsis>
|
<synopsis>
|
||||||
int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str);
|
int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str);
|
||||||
@ -1491,9 +1491,9 @@ int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str);
|
|||||||
<tgroup cols="3">
|
<tgroup cols="3">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>fmt</entry>
|
<entry>Format</entry>
|
||||||
<entry>str</entry>
|
<entry>String</entry>
|
||||||
<entry>result</entry>
|
<entry>Result</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -1592,21 +1592,21 @@ timestamp PGTYPEStimestamp_from_asc(char *str, char **endptr);
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
The function receives the string to parse (<literal>str</>) and a
|
The function receives the string to parse (<literal>str</>) and a
|
||||||
pointer to a C char* (<literal>endptr</>).
|
pointer to a C char* (<literal>endptr</>).
|
||||||
At the moment ecpg always parses
|
At the moment ECPG always parses
|
||||||
the complete string and so it currently does not support to store the
|
the complete string and so it currently does not support to store the
|
||||||
address of the first invalid character in <literal>*endptr</literal>.
|
address of the first invalid character in <literal>*endptr</literal>.
|
||||||
You can safely set <literal>endptr</literal> to NULL.
|
You can safely set <literal>endptr</literal> to NULL.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The function returns the parsed timestamp on success. On error,
|
The function returns the parsed timestamp on success. On error,
|
||||||
<literal>PGTYPESInvalidTimestamp</literal> is returned and errno is
|
<literal>PGTYPESInvalidTimestamp</literal> is returned and <varname>errno</> is
|
||||||
set to <literal>PGTYPES_TS_BAD_TIMESTAMP</>. See <xref linkend="PGTYPESInvalidTimestamp"> for important notes on this value.
|
set to <literal>PGTYPES_TS_BAD_TIMESTAMP</>. See <xref linkend="PGTYPESInvalidTimestamp"> for important notes on this value.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
In general, the input string can contain any combination of an allowed
|
In general, the input string can contain any combination of an allowed
|
||||||
date specification, a whitespace character and an allowed time
|
date specification, a whitespace character and an allowed time
|
||||||
specification. Note that timezones are not supported by ecpg. It can
|
specification. Note that timezones are not supported by ECPG. It can
|
||||||
parse them but does not apply any calculation as the
|
parse them but does not apply any calculation as the
|
||||||
<productname>PostgreSQL</> server does for example. Timezone
|
<productname>PostgreSQL</> server does for example. Timezone
|
||||||
specifiers are silently discarded.
|
specifiers are silently discarded.
|
||||||
@ -2146,7 +2146,7 @@ interval *PGTYPESinterval_from_asc(char *str, char **endptr);
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
The function parses the input string <literal>str</> and returns a
|
The function parses the input string <literal>str</> and returns a
|
||||||
pointer to an allocated interval variable.
|
pointer to an allocated interval variable.
|
||||||
At the moment ecpg always parses
|
At the moment ECPG always parses
|
||||||
the complete string and so it currently does not support to store the
|
the complete string and so it currently does not support to store the
|
||||||
address of the first invalid character in <literal>*endptr</literal>.
|
address of the first invalid character in <literal>*endptr</literal>.
|
||||||
You can safely set <literal>endptr</literal> to NULL.
|
You can safely set <literal>endptr</literal> to NULL.
|
||||||
@ -2195,7 +2195,7 @@ int PGTYPESinterval_copy(interval *intvlsrc, interval *intvldest);
|
|||||||
a maximal precision of 30 significant digits. In contrast to the numeric
|
a maximal precision of 30 significant digits. In contrast to the numeric
|
||||||
type which can be created on the heap only, the decimal type can be
|
type which can be created on the heap only, the decimal type can be
|
||||||
created either on the stack or on the heap (by means of the functions
|
created either on the stack or on the heap (by means of the functions
|
||||||
PGTYPESdecimal_new() and PGTYPESdecimal_free(). There are a lot of other
|
<function>PGTYPESdecimal_new()</> and <function>PGTYPESdecimal_free()</>. There are a lot of other
|
||||||
functions that deal with the decimal type in the <productname>Informix</productname> compatibility
|
functions that deal with the decimal type in the <productname>Informix</productname> compatibility
|
||||||
mode described in <xref linkend="ecpg-informix-compat">.
|
mode described in <xref linkend="ecpg-informix-compat">.
|
||||||
</para>
|
</para>
|
||||||
@ -2361,7 +2361,7 @@ void PGTYPESdecimal_free(decimal *var);
|
|||||||
A value of type timestamp representing an invalid time stamp. This is
|
A value of type timestamp representing an invalid time stamp. This is
|
||||||
returned by the function <function>PGTYPEStimestamp_from_asc</> on
|
returned by the function <function>PGTYPEStimestamp_from_asc</> on
|
||||||
parse error.
|
parse error.
|
||||||
Note that due to the internal representation of the timestamp datatype,
|
Note that due to the internal representation of the <type>timestamp</type> data type,
|
||||||
<literal>PGTYPESInvalidTimestamp</literal> is also a valid timestamp at
|
<literal>PGTYPESInvalidTimestamp</literal> is also a valid timestamp at
|
||||||
the same time. It is set to <literal>1899-12-31 23:59:59</>. In order
|
the same time. It is set to <literal>1899-12-31 23:59:59</>. In order
|
||||||
to detect errors, make sure that your application does not only test
|
to detect errors, make sure that your application does not only test
|
||||||
@ -2777,7 +2777,7 @@ typedef struct sqlda_struct sqlda_t;
|
|||||||
<term><literal>sqllen</></term>
|
<term><literal>sqllen</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
It contains the binary length of the field. E.g. 4 bytes for ECPGt_int.
|
It contains the binary length of the field. E.g. 4 bytes for <type>ECPGt_int</type>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -2851,7 +2851,7 @@ struct sqlname
|
|||||||
<sect1 id="ecpg-informix-compat">
|
<sect1 id="ecpg-informix-compat">
|
||||||
<title><productname>Informix</productname> compatibility mode</title>
|
<title><productname>Informix</productname> compatibility mode</title>
|
||||||
<para>
|
<para>
|
||||||
ecpg can be run in a so-called <firstterm>Informix compatibility mode</>. If
|
<command>ecpg</command> can be run in a so-called <firstterm>Informix compatibility mode</>. If
|
||||||
this mode is active, it tries to behave as if it were the <productname>Informix</productname>
|
this mode is active, it tries to behave as if it were the <productname>Informix</productname>
|
||||||
precompiler for <productname>Informix</productname> E/SQL. Generally spoken this will allow you to use
|
precompiler for <productname>Informix</productname> E/SQL. Generally spoken this will allow you to use
|
||||||
the dollar sign instead of the <literal>EXEC SQL</> primitive to introduce
|
the dollar sign instead of the <literal>EXEC SQL</> primitive to introduce
|
||||||
@ -2865,20 +2865,20 @@ $COMMIT;
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
There are two compatibility modes: INFORMIX, INFORMIX_SE
|
There are two compatibility modes: <literal>INFORMIX</>, <literal>INFORMIX_SE</>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
When linking programs that use this compatibility mode, remember to link
|
When linking programs that use this compatibility mode, remember to link
|
||||||
against <literal>libcompat</> that is shipped with ecpg.
|
against <literal>libcompat</> that is shipped with ECPG.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Besides the previously explained syntactic sugar, the <productname>Informix</productname> compatibility
|
Besides the previously explained syntactic sugar, the <productname>Informix</productname> compatibility
|
||||||
mode ports some functions for input, output and transformation of data as
|
mode ports some functions for input, output and transformation of data as
|
||||||
well as embedded SQL statements known from E/SQL to ecpg.
|
well as embedded SQL statements known from E/SQL to ECPG.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<productname>Informix</productname> compatibility mode is closely connected to the pgtypeslib library
|
<productname>Informix</productname> compatibility mode is closely connected to the pgtypeslib library
|
||||||
of ecpg. pgtypeslib maps SQL data types to data types within the C host
|
of ECPG. pgtypeslib maps SQL data types to data types within the C host
|
||||||
program and most of the additional functions of the <productname>Informix</productname> compatibility
|
program and most of the additional functions of the <productname>Informix</productname> compatibility
|
||||||
mode allow you to operate on those C host program types. Note however that
|
mode allow you to operate on those C host program types. Note however that
|
||||||
the extent of the compatibility is limited. It does not try to copy <productname>Informix</productname>
|
the extent of the compatibility is limited. It does not try to copy <productname>Informix</productname>
|
||||||
@ -2888,7 +2888,7 @@ $COMMIT;
|
|||||||
some of the data types are different. For example,
|
some of the data types are different. For example,
|
||||||
<productname>PostgreSQL's</productname> datetime and interval types do not
|
<productname>PostgreSQL's</productname> datetime and interval types do not
|
||||||
know about ranges like for example <literal>YEAR TO MINUTE</> so you won't
|
know about ranges like for example <literal>YEAR TO MINUTE</> so you won't
|
||||||
find support in ecpg for that either.
|
find support in ECPG for that either.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
@ -2916,7 +2916,7 @@ EXEC SQL FETCH MYCUR INTO :userid;
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
This statement closes the current connection. In fact, this is a
|
This statement closes the current connection. In fact, this is a
|
||||||
synonym for ecpg's <literal>DISCONNECT CURRENT</>.:
|
synonym for ECPG's <literal>DISCONNECT CURRENT</>.:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
$CLOSE DATABASE; /* close the current connection */
|
$CLOSE DATABASE; /* close the current connection */
|
||||||
EXEC SQL CLOSE DATABASE;
|
EXEC SQL CLOSE DATABASE;
|
||||||
@ -2929,11 +2929,11 @@ EXEC SQL CLOSE DATABASE;
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Due to the differences how ECPG works compared to Informix's ESQL/C (i.e. which steps
|
Due to the differences how ECPG works compared to Informix's ESQL/C (i.e. which steps
|
||||||
are purely grammar transformations and which steps rely on the underlying runtime library)
|
are purely grammar transformations and which steps rely on the underlying run-time library)
|
||||||
there is no <literal>FREE cursor_name</> statement in ECPG. This is because in ECPG,
|
there is no <literal>FREE cursor_name</> statement in ECPG. This is because in ECPG,
|
||||||
<literal>DECLARE CURSOR</literal> doesn't translate to a function call into
|
<literal>DECLARE CURSOR</literal> doesn't translate to a function call into
|
||||||
the runtime library that uses to the cursor name. This means that there's no runtime
|
the run-time library that uses to the cursor name. This means that there's no run-time
|
||||||
bookkeeping of SQL cursors in the ECPG runtime library, only in the PostgreSQL server.
|
bookkeeping of SQL cursors in the ECPG run-time library, only in the PostgreSQL server.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -3020,7 +3020,7 @@ typedef struct sqlda_compat sqlda_t;
|
|||||||
<term><literal>desc_name</></term>
|
<term><literal>desc_name</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Unused, filled with zerobytes.
|
Unused, filled with zero-bytes.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -3126,7 +3126,7 @@ if (*(int2 *)sqldata->sqlvar[i].sqlind != 0)
|
|||||||
<term><literal>sqlformat</></term>
|
<term><literal>sqlformat</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Reserved in Informix, value of PQfformat() for the field.
|
Reserved in Informix, value of <function>PQfformat()</> for the field.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -3155,7 +3155,7 @@ if (*(int2 *)sqldata->sqlvar[i].sqlind != 0)
|
|||||||
<term><literal>sqlxid</></term>
|
<term><literal>sqlxid</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Extended type of the field, result of PQftype().
|
Extended type of the field, result of <function>PQftype()</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -3243,9 +3243,9 @@ int decadd(decimal *arg1, decimal *arg2, decimal *sum);
|
|||||||
(<literal>arg1</>), a pointer to the second operand of type decimal
|
(<literal>arg1</>), a pointer to the second operand of type decimal
|
||||||
(<literal>arg2</>) and a pointer to a value of type decimal that will
|
(<literal>arg2</>) and a pointer to a value of type decimal that will
|
||||||
contain the sum (<literal>sum</>). On success, the function returns 0.
|
contain the sum (<literal>sum</>). On success, the function returns 0.
|
||||||
ECPG_INFORMIX_NUM_OVERFLOW is returned in case of overflow and
|
<symbol>ECPG_INFORMIX_NUM_OVERFLOW</> is returned in case of overflow and
|
||||||
ECPG_INFORMIX_NUM_UNDERFLOW in case of underflow. -1 is returned for
|
<symbol>ECPG_INFORMIX_NUM_UNDERFLOW</> in case of underflow. -1 is returned for
|
||||||
other failures and errno is set to the respective errno number of the
|
other failures and <varname>errno</> is set to the respective <varname>errno</> number of the
|
||||||
pgtypeslib.
|
pgtypeslib.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3530,9 +3530,9 @@ int dectoint(decimal *np, int *ip);
|
|||||||
is returned.
|
is returned.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Note that the ecpg implementation differs from the <productname>Informix</productname>
|
Note that the ECPG implementation differs from the <productname>Informix</productname>
|
||||||
implementation. <productname>Informix</productname> limits an integer to the range from -32767 to
|
implementation. <productname>Informix</productname> limits an integer to the range from -32767 to
|
||||||
32767, while the limits in the ecpg implementation depend on the
|
32767, while the limits in the ECPG implementation depend on the
|
||||||
architecture (<literal>-INT_MAX .. INT_MAX</>).
|
architecture (<literal>-INT_MAX .. INT_MAX</>).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3556,9 +3556,9 @@ int dectolong(decimal *np, long *lngp);
|
|||||||
is returned.
|
is returned.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Note that the ecpg implementation differs from the <productname>Informix</productname>
|
Note that the ECPG implementation differs from the <productname>Informix</productname>
|
||||||
implementation. <productname>Informix</productname> limits a long integer to the range from
|
implementation. <productname>Informix</productname> limits a long integer to the range from
|
||||||
-2,147,483,647 to 2,147,483,647, while the limits in the ecpg
|
-2,147,483,647 to 2,147,483,647, while the limits in the ECPG
|
||||||
implementation depend on the architecture (<literal>-LONG_MAX ..
|
implementation depend on the architecture (<literal>-LONG_MAX ..
|
||||||
LONG_MAX</>).
|
LONG_MAX</>).
|
||||||
</para>
|
</para>
|
||||||
@ -3584,9 +3584,9 @@ int rdatestr(date d, char *str);
|
|||||||
error.
|
error.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Note that ecpg's implementation differs from the <productname>Informix</productname>
|
Note that ECPG's implementation differs from the <productname>Informix</productname>
|
||||||
implementation. In <productname>Informix</productname> the format can be influenced by setting
|
implementation. In <productname>Informix</productname> the format can be influenced by setting
|
||||||
environment variables. In ecpg however, you cannot change the output
|
environment variables. In ECPG however, you cannot change the output
|
||||||
format.
|
format.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -5129,14 +5129,14 @@ EXEC SQL UNDEF MYNUMBER;
|
|||||||
Of course you can continue to use the C versions <literal>#define</literal>
|
Of course you can continue to use the C versions <literal>#define</literal>
|
||||||
and <literal>#undef</literal> in your embedded SQL program. The difference
|
and <literal>#undef</literal> in your embedded SQL program. The difference
|
||||||
is where your defined values get evaluated. If you use <literal>EXEC SQL
|
is where your defined values get evaluated. If you use <literal>EXEC SQL
|
||||||
DEFINE</> then the ecpg preprocessor evaluates the defines and substitutes
|
DEFINE</> then the <command>ecpg</> preprocessor evaluates the defines and substitutes
|
||||||
the values. For example if you write:
|
the values. For example if you write:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
EXEC SQL DEFINE MYNUMBER 12;
|
EXEC SQL DEFINE MYNUMBER 12;
|
||||||
...
|
...
|
||||||
EXEC SQL UPDATE Tbl SET col = MYNUMBER;
|
EXEC SQL UPDATE Tbl SET col = MYNUMBER;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
then ecpg will already do the substitution and your C compiler will never
|
then <command>ecpg</> will already do the substitution and your C compiler will never
|
||||||
see any name or identifier <literal>MYNUMBER</>. Note that you cannot use
|
see any name or identifier <literal>MYNUMBER</>. Note that you cannot use
|
||||||
<literal>#define</literal> for a constant that you are going to use in an
|
<literal>#define</literal> for a constant that you are going to use in an
|
||||||
embedded SQL query because in this case the embedded SQL precompiler is not
|
embedded SQL query because in this case the embedded SQL precompiler is not
|
||||||
@ -5145,7 +5145,7 @@ EXEC SQL UPDATE Tbl SET col = MYNUMBER;
|
|||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>ifdef, ifndef, else, elif and endif directives</title>
|
<title>ifdef, ifndef, else, elif, and endif directives</title>
|
||||||
<para>
|
<para>
|
||||||
You can use the following directives to compile code sections conditionally:
|
You can use the following directives to compile code sections conditionally:
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.20 2010/06/07 02:01:08 itagaki Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.21 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<appendix id="external-projects">
|
<appendix id="external-projects">
|
||||||
<title>External Projects</title>
|
<title>External Projects</title>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<link linkend="ecpg">ecpg</link> is included because it depends on the
|
<link linkend="ecpg">ECPG</link> is included because it depends on the
|
||||||
server-side SQL grammar, and is therefore sensitive to changes in
|
server-side SQL grammar, and is therefore sensitive to changes in
|
||||||
<productname>PostgreSQL</productname> itself.
|
<productname>PostgreSQL</productname> itself.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.528 2010/08/15 21:26:36 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.529 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="functions">
|
<chapter id="functions">
|
||||||
<title>Functions and Operators</title>
|
<title>Functions and Operators</title>
|
||||||
@ -9658,7 +9658,7 @@ SELECT NULLIF(value, '(none)') ...
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Array comparisons compare the array contents element-by-element,
|
Array comparisons compare the array contents element-by-element,
|
||||||
using the default B-Tree comparison function for the element data type.
|
using the default B-tree comparison function for the element data type.
|
||||||
In multidimensional arrays the elements are visited in row-major order
|
In multidimensional arrays the elements are visited in row-major order
|
||||||
(last subscript varies most rapidly).
|
(last subscript varies most rapidly).
|
||||||
If the contents of two arrays are equal but the dimensionality is
|
If the contents of two arrays are equal but the dimensionality is
|
||||||
@ -10179,8 +10179,8 @@ SELECT NULLIF(value, '(none)') ...
|
|||||||
SELECT b1 = ANY((SELECT b2 FROM t2 ...)) FROM t1 ...;
|
SELECT b1 = ANY((SELECT b2 FROM t2 ...)) FROM t1 ...;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
Here <function>ANY</function> can be considered either as introducing
|
Here <function>ANY</function> can be considered either as introducing
|
||||||
a subquery, or as being an aggregate function, if the sub-select
|
a subquery, or as being an aggregate function, if the subquery
|
||||||
returns one row with a boolean value.
|
returns one row with a Boolean value.
|
||||||
Thus the standard name cannot be given to these aggregates.
|
Thus the standard name cannot be given to these aggregates.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@ -11415,8 +11415,8 @@ AND
|
|||||||
<literal>></> or
|
<literal>></> or
|
||||||
<literal>>=</>,
|
<literal>>=</>,
|
||||||
or has semantics similar to one of these. (To be specific, an operator
|
or has semantics similar to one of these. (To be specific, an operator
|
||||||
can be a row comparison operator if it is a member of a B-Tree operator
|
can be a row comparison operator if it is a member of a B-tree operator
|
||||||
class, or is the negator of the <literal>=</> member of a B-Tree operator
|
class, or is the negator of the <literal>=</> member of a B-tree operator
|
||||||
class.)
|
class.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -13390,7 +13390,7 @@ postgres=# select pg_start_backup('label_goes_here');
|
|||||||
0/D4445B8
|
0/D4445B8
|
||||||
(1 row)
|
(1 row)
|
||||||
</programlisting>
|
</programlisting>
|
||||||
There is an optional boolean second parameter. If <literal>true</>,
|
There is an optional second parameter of type <type>boolean</type>. If <literal>true</>,
|
||||||
it specifies executing <function>pg_start_backup</> as quickly as
|
it specifies executing <function>pg_start_backup</> as quickly as
|
||||||
possible. This forces an immediate checkpoint which will cause a
|
possible. This forces an immediate checkpoint which will cause a
|
||||||
spike in I/O operations, slowing any concurrently executing queries.
|
spike in I/O operations, slowing any concurrently executing queries.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/fuzzystrmatch.sgml,v 1.7 2010/08/02 23:20:23 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/fuzzystrmatch.sgml,v 1.8 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="fuzzystrmatch">
|
<sect1 id="fuzzystrmatch">
|
||||||
<title>fuzzystrmatch</title>
|
<title>fuzzystrmatch</title>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<para>
|
<para>
|
||||||
At present, the <function>soundex</>, <function>metaphone</>,
|
At present, the <function>soundex</>, <function>metaphone</>,
|
||||||
<function>dmetaphone</>, and <function>dmetaphone_alt</> functions do
|
<function>dmetaphone</>, and <function>dmetaphone_alt</> functions do
|
||||||
not work well with multi-byte encodings (such as UTF-8).
|
not work well with multibyte encodings (such as UTF-8).
|
||||||
</para>
|
</para>
|
||||||
</caution>
|
</caution>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.20 2010/04/03 07:22:54 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.21 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="GIN">
|
<chapter id="GIN">
|
||||||
<title>GIN Indexes</title>
|
<title>GIN Indexes</title>
|
||||||
@ -62,11 +62,10 @@
|
|||||||
<para>
|
<para>
|
||||||
The four methods that an operator class for
|
The four methods that an operator class for
|
||||||
<acronym>GIN</acronym> must provide are:
|
<acronym>GIN</acronym> must provide are:
|
||||||
</para>
|
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>int compare(Datum a, Datum b)</term>
|
<term><function>int compare(Datum a, Datum b)</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Compares keys (not indexed values!) and returns an integer less than
|
Compares keys (not indexed values!) and returns an integer less than
|
||||||
@ -77,7 +76,7 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>Datum *extractValue(Datum inputValue, int32 *nkeys)</term>
|
<term><function>Datum *extractValue(Datum inputValue, int32 *nkeys)</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns an array of keys given a value to be indexed. The
|
Returns an array of keys given a value to be indexed. The
|
||||||
@ -87,8 +86,8 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>Datum *extractQuery(Datum query, int32 *nkeys,
|
<term><function>Datum *extractQuery(Datum query, int32 *nkeys,
|
||||||
StrategyNumber n, bool **pmatch, Pointer **extra_data)</term>
|
StrategyNumber n, bool **pmatch, Pointer **extra_data)</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns an array of keys given a value to be queried; that is,
|
Returns an array of keys given a value to be queried; that is,
|
||||||
@ -109,7 +108,7 @@
|
|||||||
so the index scan can be skipped entirely.
|
so the index scan can be skipped entirely.
|
||||||
<literal>pmatch</> is an output argument for use when partial match
|
<literal>pmatch</> is an output argument for use when partial match
|
||||||
is supported. To use it, <function>extractQuery</> must allocate
|
is supported. To use it, <function>extractQuery</> must allocate
|
||||||
an array of <literal>*nkeys</> booleans and store its address at
|
an array of <literal>*nkeys</> Booleans and store its address at
|
||||||
<literal>*pmatch</>. Each element of the array should be set to TRUE
|
<literal>*pmatch</>. Each element of the array should be set to TRUE
|
||||||
if the corresponding key requires partial match, FALSE if not.
|
if the corresponding key requires partial match, FALSE if not.
|
||||||
If <literal>*pmatch</> is set to NULL then GIN assumes partial match
|
If <literal>*pmatch</> is set to NULL then GIN assumes partial match
|
||||||
@ -133,8 +132,8 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>bool consistent(bool check[], StrategyNumber n, Datum query,
|
<term><function>bool consistent(bool check[], StrategyNumber n, Datum query,
|
||||||
int32 nkeys, Pointer extra_data[], bool *recheck)</term>
|
int32 nkeys, Pointer extra_data[], bool *recheck)</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns TRUE if the indexed value satisfies the query operator with
|
Returns TRUE if the indexed value satisfies the query operator with
|
||||||
@ -156,19 +155,15 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>
|
|
||||||
Optionally, an operator class for
|
Optionally, an operator class for
|
||||||
<acronym>GIN</acronym> can supply a fifth method:
|
<acronym>GIN</acronym> can supply a fifth method:
|
||||||
</para>
|
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>int comparePartial(Datum partial_key, Datum key, StrategyNumber n,
|
<term><function>int comparePartial(Datum partial_key, Datum key, StrategyNumber n,
|
||||||
Pointer extra_data)</term>
|
Pointer extra_data)</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Compare a partial-match query to an index key. Returns an integer
|
Compare a partial-match query to an index key. Returns an integer
|
||||||
@ -184,8 +179,8 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
To support <quote>partial match</> queries, an operator class must
|
To support <quote>partial match</> queries, an operator class must
|
||||||
@ -408,37 +403,37 @@
|
|||||||
feature.
|
feature.
|
||||||
The following <filename>contrib</> modules also contain
|
The following <filename>contrib</> modules also contain
|
||||||
<acronym>GIN</acronym> operator classes:
|
<acronym>GIN</acronym> operator classes:
|
||||||
</para>
|
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>btree-gin</term>
|
<term><filename>btree_gin</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>B-Tree equivalent functionality for several data types</para>
|
<para>B-tree equivalent functionality for several data types</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>hstore</term>
|
<term><filename>hstore</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Module for storing (key, value) pairs</para>
|
<para>Module for storing (key, value) pairs</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>intarray</term>
|
<term><filename>intarray</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Enhanced support for int4[]</para>
|
<para>Enhanced support for <type>int[]</type></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>pg_trgm</term>
|
<term><filename>pg_trgm</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Text similarity using trigram matching</para>
|
<para>Text similarity using trigram matching</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/gist.sgml,v 1.31 2009/06/12 19:48:53 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/gist.sgml,v 1.32 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="GiST">
|
<chapter id="GiST">
|
||||||
<title>GiST Indexes</title>
|
<title>GiST Indexes</title>
|
||||||
@ -561,7 +561,7 @@ my_same(PG_FUNCTION_ARGS)
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
For historical reasons, the <function>same</> function doesn't
|
For historical reasons, the <function>same</> function doesn't
|
||||||
just return a boolean result; instead it has to store the flag
|
just return a Boolean result; instead it has to store the flag
|
||||||
at the location indicated by the third argument.
|
at the location indicated by the third argument.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -583,58 +583,58 @@ my_same(PG_FUNCTION_ARGS)
|
|||||||
(see <filename>src/backend/access/gist/gistproc.c</>). The following
|
(see <filename>src/backend/access/gist/gistproc.c</>). The following
|
||||||
<filename>contrib</> modules also contain <acronym>GiST</acronym>
|
<filename>contrib</> modules also contain <acronym>GiST</acronym>
|
||||||
operator classes:
|
operator classes:
|
||||||
</para>
|
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>btree_gist</term>
|
<term><filename>btree_gist</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>B-Tree equivalent functionality for several data types</para>
|
<para>B-tree equivalent functionality for several data types</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>cube</term>
|
<term><filename>cube</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Indexing for multidimensional cubes</para>
|
<para>Indexing for multidimensional cubes</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>hstore</term>
|
<term><filename>hstore</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Module for storing (key, value) pairs</para>
|
<para>Module for storing (key, value) pairs</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>intarray</term>
|
<term><filename>intarray</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>RD-Tree for one-dimensional array of int4 values</para>
|
<para>RD-Tree for one-dimensional array of int4 values</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>ltree</term>
|
<term><filename>ltree</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Indexing for tree-like structures</para>
|
<para>Indexing for tree-like structures</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>pg_trgm</term>
|
<term><filename>pg_trgm</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Text similarity using trigram matching</para>
|
<para>Text similarity using trigram matching</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>seg</term>
|
<term><filename>seg</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Indexing for <quote>float ranges</quote></para>
|
<para>Indexing for <quote>float ranges</quote></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.78 2010/07/14 22:04:21 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.79 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="high-availability">
|
<chapter id="high-availability">
|
||||||
<title>High Availability, Load Balancing, and Replication</title>
|
<title>High Availability, Load Balancing, and Replication</title>
|
||||||
@ -602,21 +602,21 @@ protocol to make nodes agree on a serializable transactional order.
|
|||||||
At startup, the standby begins by restoring all WAL available in the
|
At startup, the standby begins by restoring all WAL available in the
|
||||||
archive location, calling <varname>restore_command</>. Once it
|
archive location, calling <varname>restore_command</>. Once it
|
||||||
reaches the end of WAL available there and <varname>restore_command</>
|
reaches the end of WAL available there and <varname>restore_command</>
|
||||||
fails, it tries to restore any WAL available in the pg_xlog directory.
|
fails, it tries to restore any WAL available in the <filename>pg_xlog</> directory.
|
||||||
If that fails, and streaming replication has been configured, the
|
If that fails, and streaming replication has been configured, the
|
||||||
standby tries to connect to the primary server and start streaming WAL
|
standby tries to connect to the primary server and start streaming WAL
|
||||||
from the last valid record found in archive or pg_xlog. If that fails
|
from the last valid record found in archive or <filename>pg_xlog</>. If that fails
|
||||||
or streaming replication is not configured, or if the connection is
|
or streaming replication is not configured, or if the connection is
|
||||||
later disconnected, the standby goes back to step 1 and tries to
|
later disconnected, the standby goes back to step 1 and tries to
|
||||||
restore the file from the archive again. This loop of retries from the
|
restore the file from the archive again. This loop of retries from the
|
||||||
archive, pg_xlog, and via streaming replication goes on until the server
|
archive, <filename>pg_xlog</>, and via streaming replication goes on until the server
|
||||||
is stopped or failover is triggered by a trigger file.
|
is stopped or failover is triggered by a trigger file.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Standby mode is exited and the server switches to normal operation,
|
Standby mode is exited and the server switches to normal operation,
|
||||||
when a trigger file is found (<varname>trigger_file</>). Before failover,
|
when a trigger file is found (<varname>trigger_file</>). Before failover,
|
||||||
any WAL immediately available in the archive or in pg_xlog will be
|
any WAL immediately available in the archive or in <filename>pg_xlog</> will be
|
||||||
restored, but no attempt is made to connect to the master.
|
restored, but no attempt is made to connect to the master.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
@ -753,7 +753,7 @@ trigger_file = '/path/to/trigger_file'
|
|||||||
too early, while the standby might still need them to catch up. If the
|
too early, while the standby might still need them to catch up. If the
|
||||||
standby falls behind too much, it needs to be reinitialized from a new
|
standby falls behind too much, it needs to be reinitialized from a new
|
||||||
base backup. If you set up a WAL archive that's accessible from the
|
base backup. If you set up a WAL archive that's accessible from the
|
||||||
standby, wal_keep_segments is not required as the standby can always
|
standby, <varname>wal_keep_segments</> is not required as the standby can always
|
||||||
use the archive to catch up.
|
use the archive to catch up.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1743,7 +1743,7 @@ LOG: database system is ready to accept read only connections
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
New oids cannot be assigned, though some <acronym>UUID</> generators may still
|
New OIDs cannot be assigned, though some <acronym>UUID</> generators may still
|
||||||
work as long as they do not rely on writing new status to the database.
|
work as long as they do not rely on writing new status to the database.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.13 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.14 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="hstore">
|
<sect1 id="hstore">
|
||||||
<title>hstore</title>
|
<title>hstore</title>
|
||||||
@ -409,7 +409,7 @@ b
|
|||||||
<para>
|
<para>
|
||||||
The function <function>populate_record</function> is actually declared
|
The function <function>populate_record</function> is actually declared
|
||||||
with <type>anyelement</>, not <type>record</>, as its first argument,
|
with <type>anyelement</>, not <type>record</>, as its first argument,
|
||||||
but it will reject non-record types with a runtime error.
|
but it will reject non-record types with a run-time error.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/indexam.sgml,v 2.34 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/indexam.sgml,v 2.35 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="indexam">
|
<chapter id="indexam">
|
||||||
<title>Index Access Method Interface Definition</title>
|
<title>Index Access Method Interface Definition</title>
|
||||||
@ -189,7 +189,7 @@ aminsert (Relation indexRelation,
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The function's boolean result value is significant only when
|
The function's Boolean result value is significant only when
|
||||||
<literal>checkUnique</> is <literal>UNIQUE_CHECK_PARTIAL</>.
|
<literal>checkUnique</> is <literal>UNIQUE_CHECK_PARTIAL</>.
|
||||||
In this case a TRUE result means the new entry is known unique, whereas
|
In this case a TRUE result means the new entry is known unique, whereas
|
||||||
FALSE means it might be non-unique (and a deferred uniqueness check must
|
FALSE means it might be non-unique (and a deferred uniqueness check must
|
||||||
@ -366,7 +366,7 @@ amgetbitmap (IndexScanDesc scan,
|
|||||||
TIDBitmap *tbm);
|
TIDBitmap *tbm);
|
||||||
</programlisting>
|
</programlisting>
|
||||||
Fetch all tuples in the given scan and add them to the caller-supplied
|
Fetch all tuples in the given scan and add them to the caller-supplied
|
||||||
TIDBitmap (that is, OR the set of tuple IDs into whatever set is already
|
<type>TIDBitmap</type> (that is, OR the set of tuple IDs into whatever set is already
|
||||||
in the bitmap). The number of tuples fetched is returned (this might be
|
in the bitmap). The number of tuples fetched is returned (this might be
|
||||||
just an approximate count, for instance some AMs do not detect duplicates).
|
just an approximate count, for instance some AMs do not detect duplicates).
|
||||||
While inserting tuple IDs into the bitmap, <function>amgetbitmap</> can
|
While inserting tuple IDs into the bitmap, <function>amgetbitmap</> can
|
||||||
@ -820,19 +820,19 @@ amrestrpos (IndexScanDesc scan);
|
|||||||
<title>Index Cost Estimation Functions</title>
|
<title>Index Cost Estimation Functions</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The amcostestimate function is given a list of WHERE clauses that have
|
The <function>amcostestimate</> function is given a list of WHERE clauses that have
|
||||||
been determined to be usable with the index. It must return estimates
|
been determined to be usable with the index. It must return estimates
|
||||||
of the cost of accessing the index and the selectivity of the WHERE
|
of the cost of accessing the index and the selectivity of the WHERE
|
||||||
clauses (that is, the fraction of parent-table rows that will be
|
clauses (that is, the fraction of parent-table rows that will be
|
||||||
retrieved during the index scan). For simple cases, nearly all the
|
retrieved during the index scan). For simple cases, nearly all the
|
||||||
work of the cost estimator can be done by calling standard routines
|
work of the cost estimator can be done by calling standard routines
|
||||||
in the optimizer; the point of having an amcostestimate function is
|
in the optimizer; the point of having an <function>amcostestimate</> function is
|
||||||
to allow index access methods to provide index-type-specific knowledge,
|
to allow index access methods to provide index-type-specific knowledge,
|
||||||
in case it is possible to improve on the standard estimates.
|
in case it is possible to improve on the standard estimates.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Each amcostestimate function must have the signature:
|
Each <function>amcostestimate</> function must have the signature:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
void
|
void
|
||||||
@ -850,7 +850,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>root</term>
|
<term><parameter>root</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The planner's information about the query being processed.
|
The planner's information about the query being processed.
|
||||||
@ -859,7 +859,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>index</term>
|
<term><parameter>index</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The index being considered.
|
The index being considered.
|
||||||
@ -868,23 +868,23 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>indexQuals</term>
|
<term><parameter>indexQuals</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
List of index qual clauses (implicitly ANDed);
|
List of index qual clauses (implicitly ANDed);
|
||||||
a NIL list indicates no qualifiers are available.
|
a <symbol>NIL</> list indicates no qualifiers are available.
|
||||||
Note that the list contains expression trees, not ScanKeys.
|
Note that the list contains expression trees, not ScanKeys.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>outer_rel</term>
|
<term><parameter>outer_rel</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If the index is being considered for use in a join inner indexscan,
|
If the index is being considered for use in a join inner indexscan,
|
||||||
the planner's information about the outer side of the join. Otherwise
|
the planner's information about the outer side of the join. Otherwise
|
||||||
NULL. When non-NULL, some of the qual clauses will be join clauses
|
<symbol>NULL</>. When non-<symbol>NULL</>, some of the qual clauses will be join clauses
|
||||||
with this rel rather than being simple restriction clauses. Also,
|
with this rel rather than being simple restriction clauses. Also,
|
||||||
the cost estimator should expect that the index scan will be repeated
|
the cost estimator should expect that the index scan will be repeated
|
||||||
for each row of the outer rel.
|
for each row of the outer rel.
|
||||||
@ -899,7 +899,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>*indexStartupCost</term>
|
<term><parameter>*indexStartupCost</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Set to cost of index start-up processing
|
Set to cost of index start-up processing
|
||||||
@ -908,7 +908,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>*indexTotalCost</term>
|
<term><parameter>*indexTotalCost</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Set to total cost of index processing
|
Set to total cost of index processing
|
||||||
@ -917,7 +917,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>*indexSelectivity</term>
|
<term><parameter>*indexSelectivity</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Set to index selectivity
|
Set to index selectivity
|
||||||
@ -926,7 +926,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>*indexCorrelation</term>
|
<term><parameter>*indexCorrelation</></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Set to correlation coefficient between index scan order and
|
Set to correlation coefficient between index scan order and
|
||||||
@ -951,7 +951,7 @@ amcostestimate (PlannerInfo *root,
|
|||||||
row should usually be taken as <varname>cpu_index_tuple_cost</>. In
|
row should usually be taken as <varname>cpu_index_tuple_cost</>. In
|
||||||
addition, an appropriate multiple of <varname>cpu_operator_cost</> should
|
addition, an appropriate multiple of <varname>cpu_operator_cost</> should
|
||||||
be charged for any comparison operators invoked during index processing
|
be charged for any comparison operators invoked during index processing
|
||||||
(especially evaluation of the indexQuals themselves).
|
(especially evaluation of the <literal>indexQuals</> themselves).
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -968,14 +968,14 @@ amcostestimate (PlannerInfo *root,
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The indexSelectivity should be set to the estimated fraction of the parent
|
The <parameter>indexSelectivity</> should be set to the estimated fraction of the parent
|
||||||
table rows that will be retrieved during the index scan. In the case
|
table rows that will be retrieved during the index scan. In the case
|
||||||
of a lossy query, this will typically be higher than the fraction of
|
of a lossy query, this will typically be higher than the fraction of
|
||||||
rows that actually pass the given qual conditions.
|
rows that actually pass the given qual conditions.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The indexCorrelation should be set to the correlation (ranging between
|
The <parameter>indexCorrelation</> should be set to the correlation (ranging between
|
||||||
-1.0 and 1.0) between the index order and the table order. This is used
|
-1.0 and 1.0) between the index order and the table order. This is used
|
||||||
to adjust the estimate for the cost of fetching rows from the parent
|
to adjust the estimate for the cost of fetching rows from the parent
|
||||||
table.
|
table.
|
||||||
@ -1009,16 +1009,16 @@ amcostestimate (PlannerInfo *root,
|
|||||||
<step>
|
<step>
|
||||||
<para>
|
<para>
|
||||||
Estimate the number of index rows that will be visited during the
|
Estimate the number of index rows that will be visited during the
|
||||||
scan. For many index types this is the same as indexSelectivity times
|
scan. For many index types this is the same as <parameter>indexSelectivity</> times
|
||||||
the number of rows in the index, but it might be more. (Note that the
|
the number of rows in the index, but it might be more. (Note that the
|
||||||
index's size in pages and rows is available from the IndexOptInfo struct.)
|
index's size in pages and rows is available from the <structname>IndexOptInfo</> struct.)
|
||||||
</para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step>
|
<step>
|
||||||
<para>
|
<para>
|
||||||
Estimate the number of index pages that will be retrieved during the scan.
|
Estimate the number of index pages that will be retrieved during the scan.
|
||||||
This might be just indexSelectivity times the index's size in pages.
|
This might be just <parameter>indexSelectivity</> times the index's size in pages.
|
||||||
</para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.81 2010/04/03 07:22:54 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.82 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="indexes">
|
<chapter id="indexes">
|
||||||
<title>Indexes</title>
|
<title>Indexes</title>
|
||||||
@ -92,9 +92,9 @@ CREATE INDEX test1_id_index ON test1 (id);
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Creating an index on a large table can take a long time. By default,
|
Creating an index on a large table can take a long time. By default,
|
||||||
<productname>PostgreSQL</productname> allows reads (selects) to occur
|
<productname>PostgreSQL</productname> allows reads (<command>SELECT</command> statements) to occur
|
||||||
on the table in parallel with index creation, but writes (INSERTs,
|
on the table in parallel with index creation, but writes (<command>INSERT</command>,
|
||||||
UPDATEs, DELETEs) are blocked until the index build is finished.
|
<command>UPDATE</command>, <command>DELETE</command>) are blocked until the index build is finished.
|
||||||
In production environments this is often unacceptable.
|
In production environments this is often unacceptable.
|
||||||
It is possible to allow writes to occur in parallel with index
|
It is possible to allow writes to occur in parallel with index
|
||||||
creation, but there are several caveats to be aware of —
|
creation, but there are several caveats to be aware of —
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.350 2010/07/29 18:29:52 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.351 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="installation">
|
<chapter id="installation">
|
||||||
<title><![%standalone-include[<productname>PostgreSQL</>]]>
|
<title><![%standalone-include[<productname>PostgreSQL</>]]>
|
||||||
@ -2471,7 +2471,7 @@ createlang: language installation failed: ERROR: could not load library "/opt/d
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The GNU make command is called "make" not "gmake".
|
The GNU make command is called <command>make</command>, not <command>gmake</command>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -2982,7 +2982,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
|
|||||||
On Solaris 7 and older, the 64-bit version of libc has a buggy
|
On Solaris 7 and older, the 64-bit version of libc has a buggy
|
||||||
<function>vsnprintf</function> routine, which leads to erratic
|
<function>vsnprintf</function> routine, which leads to erratic
|
||||||
core dumps in PostgreSQL. The simplest known workaround is to
|
core dumps in PostgreSQL. The simplest known workaround is to
|
||||||
force PostgreSQL to use its own version of vsnprintf rather than
|
force PostgreSQL to use its own version of <function>vsnprintf</function> rather than
|
||||||
the library copy. To do this, after you
|
the library copy. To do this, after you
|
||||||
run <command>configure</command> edit a file produced by
|
run <command>configure</command> edit a file produced by
|
||||||
<command>configure</command>:
|
<command>configure</command>:
|
||||||
@ -3044,7 +3044,7 @@ LIBOBJS = snprintf.o
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you see the linking of the postgres executable abort with an
|
If you see the linking of the <command>postgres</command> executable abort with an
|
||||||
error message like:
|
error message like:
|
||||||
<screen>
|
<screen>
|
||||||
Undefined first referenced
|
Undefined first referenced
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/intarray.sgml,v 1.11 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/intarray.sgml,v 1.12 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="intarray">
|
<sect1 id="intarray">
|
||||||
<title>intarray</title>
|
<title>intarray</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/isn.sgml,v 1.7 2010/08/10 20:42:01 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/isn.sgml,v 1.8 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="isn">
|
<sect1 id="isn">
|
||||||
<title>isn</title>
|
<title>isn</title>
|
||||||
@ -214,7 +214,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <filename>isn</> module provides the standard comparison operators,
|
The <filename>isn</> module provides the standard comparison operators,
|
||||||
plus btree and hash indexing support for all these datatypes. In
|
plus B-tree and hash indexing support for all these data types. In
|
||||||
addition there are several specialized functions; shown in <xref linkend="isn-functions">.
|
addition there are several specialized functions; shown in <xref linkend="isn-functions">.
|
||||||
In this table,
|
In this table,
|
||||||
<type>isn</> means any one of the module's data types.
|
<type>isn</> means any one of the module's data types.
|
||||||
@ -375,7 +375,7 @@ SELECT isbn13(id) FROM test;
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
This module was inspired by Garrett A. Wollman's
|
This module was inspired by Garrett A. Wollman's
|
||||||
isbn_issn code.
|
<filename>isbn_issn</> code.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.320 2010/08/10 02:56:46 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.321 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="libpq">
|
<chapter id="libpq">
|
||||||
<title><application>libpq</application> - C Library</title>
|
<title><application>libpq</application> - C Library</title>
|
||||||
@ -79,13 +79,13 @@
|
|||||||
<para>
|
<para>
|
||||||
On Windows, there is a way to improve performance if a single
|
On Windows, there is a way to improve performance if a single
|
||||||
database connection is repeatedly started and shutdown. Internally,
|
database connection is repeatedly started and shutdown. Internally,
|
||||||
libpq calls WSAStartup() and WSACleanup() for connection startup
|
libpq calls <function>WSAStartup()</> and <function>WSACleanup()</> for connection startup
|
||||||
and shutdown, respectively. WSAStartup() increments an internal
|
and shutdown, respectively. <function>WSAStartup()</> increments an internal
|
||||||
Windows library reference count which is decremented by WSACleanup().
|
Windows library reference count which is decremented by <function>WSACleanup()</>.
|
||||||
When the reference count is just one, calling WSACleanup() frees
|
When the reference count is just one, calling <function>WSACleanup()</> frees
|
||||||
all resources and all DLLs are unloaded. This is an expensive
|
all resources and all DLLs are unloaded. This is an expensive
|
||||||
operation. To avoid this, an application can manually call
|
operation. To avoid this, an application can manually call
|
||||||
WSAStartup() so resources will not be freed when the last database
|
<function>WSAStartup()</> so resources will not be freed when the last database
|
||||||
connection is closed.
|
connection is closed.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@ -953,7 +953,7 @@ PQconninfoOption *PQconninfoParse(const char *conninfo, char **errmsg);
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Parses a connection string and returns the resulting options as an
|
Parses a connection string and returns the resulting options as an
|
||||||
array; or returns NULL if there is a problem with the connection
|
array; or returns <symbol>NULL</> if there is a problem with the connection
|
||||||
string. This can be used to determine
|
string. This can be used to determine
|
||||||
the <function>PQconnectdb</function> options in the provided
|
the <function>PQconnectdb</function> options in the provided
|
||||||
connection string. The return value points to an array of
|
connection string. The return value points to an array of
|
||||||
@ -967,10 +967,10 @@ PQconninfoOption *PQconninfoParse(const char *conninfo, char **errmsg);
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If <literal>errmsg</> is not NULL, then <literal>*errmsg</> is set
|
If <literal>errmsg</> is not <symbol>NULL</>, then <literal>*errmsg</> is set
|
||||||
to NULL on success, else to a malloc'd error string explaining
|
to <symbol>NULL</> on success, else to a <function>malloc</>'d error string explaining
|
||||||
the problem. (It is also possible for <literal>*errmsg</> to be
|
the problem. (It is also possible for <literal>*errmsg</> to be
|
||||||
set to NULL even when NULL is returned; this indicates an out-of-memory
|
set to <symbol>NULL</> even when <symbol>NULL</> is returned; this indicates an out-of-memory
|
||||||
situation.)
|
situation.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -978,7 +978,7 @@ PQconninfoOption *PQconninfoParse(const char *conninfo, char **errmsg);
|
|||||||
After processing the options array, free it by passing it to
|
After processing the options array, free it by passing it to
|
||||||
<function>PQconninfoFree</function>. If this is not done, some memory
|
<function>PQconninfoFree</function>. If this is not done, some memory
|
||||||
is leaked for each call to <function>PQconninfoParse</function>.
|
is leaked for each call to <function>PQconninfoParse</function>.
|
||||||
Conversely, if an error occurs and <literal>errmsg</> is not NULL,
|
Conversely, if an error occurs and <literal>errmsg</> is not <symbol>NULL</>,
|
||||||
be sure to free the error string using <function>PQfreemem</>.
|
be sure to free the error string using <function>PQfreemem</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1974,7 +1974,7 @@ PGresult *PQdescribePrepared(PGconn *conn, const char *stmtName);
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<parameter>stmtName</> can be <literal>""</> or NULL to reference
|
<parameter>stmtName</> can be <literal>""</> or <symbol>NULL</> to reference
|
||||||
the unnamed statement, otherwise it must be the name of an existing
|
the unnamed statement, otherwise it must be the name of an existing
|
||||||
prepared statement. On success, a <structname>PGresult</> with
|
prepared statement. On success, a <structname>PGresult</> with
|
||||||
status <literal>PGRES_COMMAND_OK</literal> is returned. The
|
status <literal>PGRES_COMMAND_OK</literal> is returned. The
|
||||||
@ -2017,7 +2017,7 @@ PGresult *PQdescribePortal(PGconn *conn, const char *portalName);
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<parameter>portalName</> can be <literal>""</> or NULL to reference
|
<parameter>portalName</> can be <literal>""</> or <symbol>NULL</> to reference
|
||||||
the unnamed portal, otherwise it must be the name of an existing
|
the unnamed portal, otherwise it must be the name of an existing
|
||||||
portal. On success, a <structname>PGresult</> with status
|
portal. On success, a <structname>PGresult</> with status
|
||||||
<literal>PGRES_COMMAND_OK</literal> is returned. The functions
|
<literal>PGRES_COMMAND_OK</literal> is returned. The functions
|
||||||
@ -3138,7 +3138,7 @@ char *PQescapeLiteral(PGconn *conn, const char *str, size_t length);
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
On error, <function>PQescapeLiteral</> returns NULL and a suitable
|
On error, <function>PQescapeLiteral</> returns <symbol>NULL</> and a suitable
|
||||||
message is stored in the <parameter>conn</> object.
|
message is stored in the <parameter>conn</> object.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -3201,7 +3201,7 @@ char *PQescapeIdentifier(PGconn *conn, const char *str, size_t length);
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
On error, <function>PQescapeIdentifier</> returns NULL and a suitable
|
On error, <function>PQescapeIdentifier</> returns <symbol>NULL</> and a suitable
|
||||||
message is stored in the <parameter>conn</> object.
|
message is stored in the <parameter>conn</> object.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -3254,13 +3254,13 @@ size_t PQescapeStringConn(PGconn *conn,
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If the <parameter>error</> parameter is not NULL, then
|
If the <parameter>error</> parameter is not <symbol>NULL</>, then
|
||||||
<literal>*error</> is set to zero on success, nonzero on error.
|
<literal>*error</> is set to zero on success, nonzero on error.
|
||||||
Presently the only possible error conditions involve invalid multibyte
|
Presently the only possible error conditions involve invalid multibyte
|
||||||
encoding in the source string. The output string is still generated
|
encoding in the source string. The output string is still generated
|
||||||
on error, but it can be expected that the server will reject it as
|
on error, but it can be expected that the server will reject it as
|
||||||
malformed. On error, a suitable message is stored in the
|
malformed. On error, a suitable message is stored in the
|
||||||
<parameter>conn</> object, whether or not <parameter>error</> is NULL.
|
<parameter>conn</> object, whether or not <parameter>error</> is <symbol>NULL</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -3365,7 +3365,7 @@ unsigned char *PQescapeByteaConn(PGconn *conn,
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
On error, a NULL pointer is returned, and a suitable error message
|
On error, a null pointer is returned, and a suitable error message
|
||||||
is stored in the <parameter>conn</> object. Currently, the only
|
is stored in the <parameter>conn</> object. Currently, the only
|
||||||
possible error is insufficient memory for the result string.
|
possible error is insufficient memory for the result string.
|
||||||
</para>
|
</para>
|
||||||
@ -3438,7 +3438,7 @@ unsigned char *PQunescapeBytea(const unsigned char *from, size_t *to_length);
|
|||||||
to a <type>bytea</type> column. <function>PQunescapeBytea</function>
|
to a <type>bytea</type> column. <function>PQunescapeBytea</function>
|
||||||
converts this string representation into its binary representation.
|
converts this string representation into its binary representation.
|
||||||
It returns a pointer to a buffer allocated with
|
It returns a pointer to a buffer allocated with
|
||||||
<function>malloc()</function>, or NULL on error, and puts the size of
|
<function>malloc()</function>, or <symbol>NULL</> on error, and puts the size of
|
||||||
the buffer in <parameter>to_length</parameter>. The result must be
|
the buffer in <parameter>to_length</parameter>. The result must be
|
||||||
freed using <function>PQfreemem</> when it is no longer needed.
|
freed using <function>PQfreemem</> when it is no longer needed.
|
||||||
</para>
|
</para>
|
||||||
@ -3993,7 +3993,7 @@ PGcancel *PQgetCancel(PGconn *conn);
|
|||||||
<function>PQgetCancel</function> creates a
|
<function>PQgetCancel</function> creates a
|
||||||
<structname>PGcancel</><indexterm><primary>PGcancel</></> object
|
<structname>PGcancel</><indexterm><primary>PGcancel</></> object
|
||||||
given a <structname>PGconn</> connection object. It will return
|
given a <structname>PGconn</> connection object. It will return
|
||||||
NULL if the given <parameter>conn</> is NULL or an invalid
|
<symbol>NULL</> if the given <parameter>conn</> is <symbol>NULL</> or an invalid
|
||||||
connection. The <structname>PGcancel</> object is an opaque
|
connection. The <structname>PGcancel</> object is an opaque
|
||||||
structure that is not meant to be accessed directly by the
|
structure that is not meant to be accessed directly by the
|
||||||
application; it can only be passed to <function>PQcancel</function>
|
application; it can only be passed to <function>PQcancel</function>
|
||||||
@ -5078,7 +5078,7 @@ PGresult *PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status);
|
|||||||
<para>
|
<para>
|
||||||
This is <application>libpq</>'s internal function to allocate and
|
This is <application>libpq</>'s internal function to allocate and
|
||||||
initialize an empty <structname>PGresult</structname> object. This
|
initialize an empty <structname>PGresult</structname> object. This
|
||||||
function returns NULL if memory could not be allocated. It is
|
function returns <symbol>NULL</> if memory could not be allocated. It is
|
||||||
exported because some applications find it useful to generate result
|
exported because some applications find it useful to generate result
|
||||||
objects (particularly objects with error status) themselves. If
|
objects (particularly objects with error status) themselves. If
|
||||||
<parameter>conn</parameter> is not null and <parameter>status</>
|
<parameter>conn</parameter> is not null and <parameter>status</>
|
||||||
@ -5117,7 +5117,7 @@ int PQfireResultCreateEvents(PGconn *conn, PGresult *res);
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <literal>conn</> argument is passed through to event procedures
|
The <literal>conn</> argument is passed through to event procedures
|
||||||
but not used directly. It can be <literal>NULL</> if the event
|
but not used directly. It can be <symbol>NULL</> if the event
|
||||||
procedures won't use it.
|
procedures won't use it.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -5149,7 +5149,7 @@ int PQfireResultCreateEvents(PGconn *conn, PGresult *res);
|
|||||||
Makes a copy of a <structname>PGresult</structname> object. The copy is
|
Makes a copy of a <structname>PGresult</structname> object. The copy is
|
||||||
not linked to the source result in any way and
|
not linked to the source result in any way and
|
||||||
<function>PQclear</function> must be called when the copy is no longer
|
<function>PQclear</function> must be called when the copy is no longer
|
||||||
needed. If the function fails, NULL is returned.
|
needed. If the function fails, <symbol>NULL</> is returned.
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
PGresult *PQcopyResult(const PGresult *src, int flags);
|
PGresult *PQcopyResult(const PGresult *src, int flags);
|
||||||
@ -5193,7 +5193,7 @@ int PQsetResultAttrs(PGresult *res, int numAttributes, PGresAttDesc *attDescs);
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The provided <parameter>attDescs</parameter> are copied into the result.
|
The provided <parameter>attDescs</parameter> are copied into the result.
|
||||||
If the <parameter>attDescs</parameter> pointer is NULL or
|
If the <parameter>attDescs</parameter> pointer is <symbol>NULL</> or
|
||||||
<parameter>numAttributes</parameter> is less than one, the request is
|
<parameter>numAttributes</parameter> is less than one, the request is
|
||||||
ignored and the function succeeds. If <parameter>res</parameter>
|
ignored and the function succeeds. If <parameter>res</parameter>
|
||||||
already contains attributes, the function will fail. If the function
|
already contains attributes, the function will fail. If the function
|
||||||
@ -5227,8 +5227,8 @@ int PQsetvalue(PGresult *res, int tup_num, int field_num, char *value, int len);
|
|||||||
field of any existing tuple can be modified in any order. If a value at
|
field of any existing tuple can be modified in any order. If a value at
|
||||||
<parameter>field_num</parameter> already exists, it will be overwritten.
|
<parameter>field_num</parameter> already exists, it will be overwritten.
|
||||||
If <parameter>len</parameter> is <literal>-1</literal> or
|
If <parameter>len</parameter> is <literal>-1</literal> or
|
||||||
<parameter>value</parameter> is <literal>NULL</literal>, the field value
|
<parameter>value</parameter> is <symbol>NULL</>, the field value
|
||||||
will be set to an SQL <literal>NULL</literal>. The
|
will be set to an SQL null value. The
|
||||||
<parameter>value</parameter> is copied into the result's private storage,
|
<parameter>value</parameter> is copied into the result's private storage,
|
||||||
thus is no longer needed after the function
|
thus is no longer needed after the function
|
||||||
returns. If the function fails, the return value is zero. If the
|
returns. If the function fails, the return value is zero. If the
|
||||||
@ -5256,7 +5256,7 @@ void *PQresultAlloc(PGresult *res, size_t nBytes);
|
|||||||
<para>
|
<para>
|
||||||
Any memory allocated with this function will be freed when
|
Any memory allocated with this function will be freed when
|
||||||
<parameter>res</parameter> is cleared. If the function fails,
|
<parameter>res</parameter> is cleared. If the function fails,
|
||||||
the return value is <literal>NULL</literal>. The result is
|
the return value is <symbol>NULL</>. The result is
|
||||||
guaranteed to be adequately aligned for any type of data,
|
guaranteed to be adequately aligned for any type of data,
|
||||||
just as for <function>malloc</>.
|
just as for <function>malloc</>.
|
||||||
</para>
|
</para>
|
||||||
@ -5399,7 +5399,7 @@ defaultNoticeProcessor(void *arg, const char *message)
|
|||||||
life of the <structname>PGconn</> and all <structname>PGresult</>s
|
life of the <structname>PGconn</> and all <structname>PGresult</>s
|
||||||
generated from it; so if used, it must point to long-lived data.
|
generated from it; so if used, it must point to long-lived data.
|
||||||
In addition there is an <firstterm>instance data</> pointer, which starts
|
In addition there is an <firstterm>instance data</> pointer, which starts
|
||||||
out NULL in every <structname>PGconn</> and <structname>PGresult</>.
|
out <symbol>NULL</> in every <structname>PGconn</> and <structname>PGresult</>.
|
||||||
This pointer can be manipulated using the
|
This pointer can be manipulated using the
|
||||||
<function>PQinstanceData</function>,
|
<function>PQinstanceData</function>,
|
||||||
<function>PQsetInstanceData</function>,
|
<function>PQsetInstanceData</function>,
|
||||||
@ -5704,11 +5704,11 @@ int PQregisterEventProc(PGconn *conn, PGEventProc proc,
|
|||||||
event is fired. Its memory address is also used to lookup
|
event is fired. Its memory address is also used to lookup
|
||||||
<literal>instanceData</literal>. The <parameter>name</parameter>
|
<literal>instanceData</literal>. The <parameter>name</parameter>
|
||||||
argument is used to refer to the event procedure in error messages.
|
argument is used to refer to the event procedure in error messages.
|
||||||
This value cannot be NULL or a zero-length string. The name string is
|
This value cannot be <symbol>NULL</> or a zero-length string. The name string is
|
||||||
copied into the <structname>PGconn</>, so what is passed need not be
|
copied into the <structname>PGconn</>, so what is passed need not be
|
||||||
long-lived. The <parameter>passThrough</parameter> pointer is passed
|
long-lived. The <parameter>passThrough</parameter> pointer is passed
|
||||||
to the <parameter>proc</parameter> whenever an event occurs. This
|
to the <parameter>proc</parameter> whenever an event occurs. This
|
||||||
argument can be NULL.
|
argument can be <symbol>NULL</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -5722,9 +5722,11 @@ int PQregisterEventProc(PGconn *conn, PGEventProc proc,
|
|||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Sets the conn's instanceData for proc to data. This returns non-zero
|
Sets the connection <parameter>conn</>'s <literal>instanceData</>
|
||||||
for success and zero for failure. (Failure is only possible if
|
for procedure <parameter>proc</> to <parameter>data</>. This
|
||||||
the proc has not been properly registered in the conn.)
|
returns non-zero for success and zero for failure. (Failure is
|
||||||
|
only possible if <parameter>proc</> has not been properly
|
||||||
|
registered in <parameter>conn</>.)
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
int PQsetInstanceData(PGconn *conn, PGEventProc proc, void *data);
|
int PQsetInstanceData(PGconn *conn, PGEventProc proc, void *data);
|
||||||
@ -5742,8 +5744,10 @@ int PQsetInstanceData(PGconn *conn, PGEventProc proc, void *data);
|
|||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns the conn's instanceData associated with proc, or NULL
|
Returns the
|
||||||
if there is none.
|
connection <parameter>conn</>'s <literal>instanceData</literal>
|
||||||
|
associated with procedure <parameter>proc</>,
|
||||||
|
or <symbol>NULL</symbol> if there is none.
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
void *PQinstanceData(const PGconn *conn, PGEventProc proc);
|
void *PQinstanceData(const PGconn *conn, PGEventProc proc);
|
||||||
@ -5761,9 +5765,11 @@ void *PQinstanceData(const PGconn *conn, PGEventProc proc);
|
|||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Sets the result's instanceData for proc to data. This returns non-zero
|
Sets the result's <literal>instanceData</>
|
||||||
for success and zero for failure. (Failure is only possible if the
|
for <parameter>proc</> to <parameter>data</>. This returns
|
||||||
proc has not been properly registered in the result.)
|
non-zero for success and zero for failure. (Failure is only
|
||||||
|
possible if <parameter>proc</> has not been properly registered
|
||||||
|
in the result.)
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
int PQresultSetInstanceData(PGresult *res, PGEventProc proc, void *data);
|
int PQresultSetInstanceData(PGresult *res, PGEventProc proc, void *data);
|
||||||
@ -5781,7 +5787,7 @@ int PQresultSetInstanceData(PGresult *res, PGEventProc proc, void *data);
|
|||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns the result's instanceData associated with proc, or NULL
|
Returns the result's <literal>instanceData</> associated with <parameter>proc</>, or <symbol>NULL</>
|
||||||
if there is none.
|
if there is none.
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/lo.sgml,v 1.4 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/lo.sgml,v 1.5 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="lo">
|
<sect1 id="lo">
|
||||||
<title>lo</title>
|
<title>lo</title>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<para>
|
<para>
|
||||||
One of the problems with the JDBC driver (and this affects the ODBC driver
|
One of the problems with the JDBC driver (and this affects the ODBC driver
|
||||||
also), is that the specification assumes that references to BLOBs (Binary
|
also), is that the specification assumes that references to BLOBs (Binary
|
||||||
Large OBjects) are stored within a table, and if that entry is changed, the
|
Large Objects) are stored within a table, and if that entry is changed, the
|
||||||
associated BLOB is deleted from the database.
|
associated BLOB is deleted from the database.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ltree.sgml,v 1.5 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/ltree.sgml,v 1.6 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="ltree">
|
<sect1 id="ltree">
|
||||||
<title>ltree</title>
|
<title>ltree</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/monitoring.sgml,v 1.83 2010/08/14 02:22:10 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/monitoring.sgml,v 1.84 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="monitoring">
|
<chapter id="monitoring">
|
||||||
<title>Monitoring Database Activity</title>
|
<title>Monitoring Database Activity</title>
|
||||||
@ -807,7 +807,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
|
|||||||
<entry><literal><function>pg_stat_get_activity</function>(<type>integer</type>)</literal></entry>
|
<entry><literal><function>pg_stat_get_activity</function>(<type>integer</type>)</literal></entry>
|
||||||
<entry><type>setof record</type></entry>
|
<entry><type>setof record</type></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Returns a record of information about the backend with the specified pid, or
|
Returns a record of information about the backend with the specified PID, or
|
||||||
one record for each active backend in the system if <symbol>NULL</symbol> is
|
one record for each active backend in the system if <symbol>NULL</symbol> is
|
||||||
specified. The fields returned are a subset of those in the
|
specified. The fields returned are a subset of those in the
|
||||||
<structname>pg_stat_activity</structname> view.
|
<structname>pg_stat_activity</structname> view.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/oid2name.sgml,v 1.9 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/oid2name.sgml,v 1.10 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="oid2name">
|
<sect1 id="oid2name">
|
||||||
<title>oid2name</title>
|
<title>oid2name</title>
|
||||||
@ -122,8 +122,8 @@
|
|||||||
using <option>-o</>, <option>-f</> and/or <option>-t</>.
|
using <option>-o</>, <option>-f</> and/or <option>-t</>.
|
||||||
<option>-o</> takes an OID,
|
<option>-o</> takes an OID,
|
||||||
<option>-f</> takes a filenode,
|
<option>-f</> takes a filenode,
|
||||||
and <option>-t</> takes a tablename (actually, it's a LIKE
|
and <option>-t</> takes a table name (actually, it's a <literal>LIKE</>
|
||||||
pattern, so you can use things like <option>foo%</>).
|
pattern, so you can use things like <literal>foo%</>).
|
||||||
You can use as many
|
You can use as many
|
||||||
of these options as you like, and the listing will include all objects
|
of these options as you like, and the listing will include all objects
|
||||||
matched by any of the options. But note that these options can only
|
matched by any of the options. But note that these options can only
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pageinspect.sgml,v 1.7 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pageinspect.sgml,v 1.8 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pageinspect">
|
<sect1 id="pageinspect">
|
||||||
<title>pageinspect</title>
|
<title>pageinspect</title>
|
||||||
@ -107,7 +107,7 @@ test=# SELECT * FROM heap_page_items(get_raw_page('pg_class', 0));
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<function>bt_metap</function> returns information about a btree
|
<function>bt_metap</function> returns information about a B-tree
|
||||||
index's metapage. For example:
|
index's metapage. For example:
|
||||||
<screen>
|
<screen>
|
||||||
test=# SELECT * FROM bt_metap('pg_cast_oid_index');
|
test=# SELECT * FROM bt_metap('pg_cast_oid_index');
|
||||||
@ -131,7 +131,7 @@ fastlevel | 0
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<function>bt_page_stats</function> returns summary information about
|
<function>bt_page_stats</function> returns summary information about
|
||||||
single pages of btree indexes. For example:
|
single pages of B-tree indexes. For example:
|
||||||
<screen>
|
<screen>
|
||||||
test=# SELECT * FROM bt_page_stats('pg_cast_oid_index', 1);
|
test=# SELECT * FROM bt_page_stats('pg_cast_oid_index', 1);
|
||||||
-[ RECORD 1 ]-+-----
|
-[ RECORD 1 ]-+-----
|
||||||
@ -159,7 +159,7 @@ btpo_flags | 3
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<function>bt_page_items</function> returns detailed information about
|
<function>bt_page_items</function> returns detailed information about
|
||||||
all of the items on a btree index page. For example:
|
all of the items on a B-tree index page. For example:
|
||||||
<screen>
|
<screen>
|
||||||
test=# SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
|
test=# SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
|
||||||
itemoffset | ctid | itemlen | nulls | vars | data
|
itemoffset | ctid | itemlen | nulls | vars | data
|
||||||
@ -185,7 +185,7 @@ test=# SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<function>fsm_page_contents</function> shows the internal node structure
|
<function>fsm_page_contents</function> shows the internal node structure
|
||||||
of a FSM page. The output is a multi-line string, with one line per
|
of a FSM page. The output is a multiline string, with one line per
|
||||||
node in the binary tree within the page. Only those nodes that are not
|
node in the binary tree within the page. Only those nodes that are not
|
||||||
zero are printed. The so-called "next" pointer, which points to the
|
zero are printed. The so-called "next" pointer, which points to the
|
||||||
next slot to be returned from the page, is also printed.
|
next slot to be returned from the page, is also printed.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgarchivecleanup.sgml,v 1.3 2010/08/15 20:20:30 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgarchivecleanup.sgml,v 1.4 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgarchivecleanup">
|
<sect1 id="pgarchivecleanup">
|
||||||
<title>pg_archivecleanup</title>
|
<title>pg_archivecleanup</title>
|
||||||
@ -61,11 +61,11 @@ pg_archivecleanup <optional> <replaceable>option</> ... </optional> <replaceable
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
When used as a standalone program all WAL files logically preceding the
|
When used as a standalone program all WAL files logically preceding the
|
||||||
<literal>restartwalfile</> will be removed <replaceable>archivelocation</>.
|
<literal>restartwalfile</> will be removed <replaceable>archivelocation</>.
|
||||||
In this mode, if you specify a .backup filename, then only the file prefix
|
In this mode, if you specify a <filename>.backup</> file name, then only the file prefix
|
||||||
will be used as the <literal>restartwalfile</>. This allows you to remove
|
will be used as the <literal>restartwalfile</>. This allows you to remove
|
||||||
all WAL files archived prior to a specific base backup without error.
|
all WAL files archived prior to a specific base backup without error.
|
||||||
For example, the following example will remove all files older than
|
For example, the following example will remove all files older than
|
||||||
WAL filename 000000010000003700000010:
|
WAL file name <filename>000000010000003700000010</>:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
pg_archivecleanup -d archive 000000010000003700000010.00000020.backup
|
pg_archivecleanup -d archive 000000010000003700000010.00000020.backup
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgbench.sgml,v 1.19 2010/08/15 19:46:24 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgbench.sgml,v 1.20 2010/08/17 04:37:20 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgbench">
|
<sect1 id="pgbench">
|
||||||
<title>pgbench</title>
|
<title>pgbench</title>
|
||||||
@ -447,7 +447,7 @@ pgbench <optional> <replaceable>options</> </optional> <replaceable>dbname</>
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The format of a script file is one SQL command per line; multi-line
|
The format of a script file is one SQL command per line; multiline
|
||||||
SQL commands are not supported. Empty lines and lines beginning with
|
SQL commands are not supported. Empty lines and lines beginning with
|
||||||
<literal>--</> are ignored. Script file lines can also be
|
<literal>--</> are ignored. Script file lines can also be
|
||||||
<quote>meta commands</>, which are interpreted by <application>pgbench</>
|
<quote>meta commands</>, which are interpreted by <application>pgbench</>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgcrypto.sgml,v 1.12 2010/08/15 01:57:03 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgcrypto.sgml,v 1.13 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgcrypto">
|
<sect1 id="pgcrypto">
|
||||||
<title>pgcrypto</title>
|
<title>pgcrypto</title>
|
||||||
@ -519,7 +519,7 @@ pgp_sym_decrypt_bytea(msg bytea, psw text [, options text ]) returns bytea
|
|||||||
Decrypt a symmetric-key-encrypted PGP message.
|
Decrypt a symmetric-key-encrypted PGP message.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Decrypting bytea data with <function>pgp_sym_decrypt</> is disallowed.
|
Decrypting <type>bytea</> data with <function>pgp_sym_decrypt</> is disallowed.
|
||||||
This is to avoid outputting invalid character data. Decrypting
|
This is to avoid outputting invalid character data. Decrypting
|
||||||
originally textual data with <function>pgp_sym_decrypt_bytea</> is fine.
|
originally textual data with <function>pgp_sym_decrypt_bytea</> is fine.
|
||||||
</para>
|
</para>
|
||||||
@ -561,7 +561,7 @@ pgp_pub_decrypt_bytea(msg bytea, key bytea [, psw text [, options text ]]) retur
|
|||||||
options, you need to give an empty password.
|
options, you need to give an empty password.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Decrypting bytea data with <function>pgp_pub_decrypt</> is disallowed.
|
Decrypting <type>bytea</> data with <function>pgp_pub_decrypt</> is disallowed.
|
||||||
This is to avoid outputting invalid character data. Decrypting
|
This is to avoid outputting invalid character data. Decrypting
|
||||||
originally textual data with <function>pgp_pub_decrypt_bytea</> is fine.
|
originally textual data with <function>pgp_pub_decrypt_bytea</> is fine.
|
||||||
</para>
|
</para>
|
||||||
@ -621,7 +621,7 @@ armor(data bytea) returns text
|
|||||||
dearmor(data text) returns bytea
|
dearmor(data text) returns bytea
|
||||||
</synopsis>
|
</synopsis>
|
||||||
<para>
|
<para>
|
||||||
These functions wrap/unwrap binary data into PGP Ascii Armor format,
|
These functions wrap/unwrap binary data into PGP ASCII-armor format,
|
||||||
which is basically Base64 with CRC and additional formatting.
|
which is basically Base64 with CRC and additional formatting.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
@ -825,13 +825,13 @@ gpg --list-secret-keys
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
To export a public key in ascii-armor format:
|
To export a public key in ASCII-armor format:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
gpg -a --export KEYID > public.key
|
gpg -a --export KEYID > public.key
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
To export a secret key in ascii-armor format:
|
To export a secret key in ASCII-armor format:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
gpg -a --export-secret-keys KEYID > secret.key
|
gpg -a --export-secret-keys KEYID > secret.key
|
||||||
</programlisting>
|
</programlisting>
|
||||||
@ -1206,7 +1206,7 @@ gen_random_bytes(count integer) returns bytea
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink url="http://jlcooke.ca/random/"></ulink></para>
|
<para><ulink url="http://jlcooke.ca/random/"></ulink></para>
|
||||||
<para>Jean-Luc Cooke Fortuna-based /dev/random driver for Linux.</para>
|
<para>Jean-Luc Cooke Fortuna-based <filename>/dev/random</> driver for Linux.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><ulink url="http://research.cyber.ee/~lipmaa/crypto/"></ulink></para>
|
<para><ulink url="http://research.cyber.ee/~lipmaa/crypto/"></ulink></para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgfreespacemap.sgml,v 2.7 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgfreespacemap.sgml,v 2.8 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgfreespacemap">
|
<sect1 id="pgfreespacemap">
|
||||||
<title>pg_freespacemap</title>
|
<title>pg_freespacemap</title>
|
||||||
@ -33,7 +33,6 @@
|
|||||||
<para>
|
<para>
|
||||||
Returns the amount of free space on the page of the relation, specified
|
Returns the amount of free space on the page of the relation, specified
|
||||||
by <literal>blkno</>, according to the FSM.
|
by <literal>blkno</>, according to the FSM.
|
||||||
(blkno).
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -56,7 +55,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The values stored in the free space map are not exact. They're rounded
|
The values stored in the free space map are not exact. They're rounded
|
||||||
to precision of 1/256th of BLCKSZ (32 bytes with default BLCKSZ), and
|
to precision of 1/256th of <symbol>BLCKSZ</> (32 bytes with default <symbol>BLCKSZ</>), and
|
||||||
they're not kept fully up-to-date as tuples are inserted and updated.
|
they're not kept fully up-to-date as tuples are inserted and updated.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgstandby.sgml,v 2.12 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgstandby.sgml,v 2.13 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgstandby">
|
<sect1 id="pgstandby">
|
||||||
<title>pg_standby</title>
|
<title>pg_standby</title>
|
||||||
@ -326,7 +326,7 @@ recovery_end_command = 'del C:\pgsql.trigger.5442'
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <literal>copy</> command on Windows sets the final file size
|
The <literal>copy</> command on Windows sets the final file size
|
||||||
before the file is completely copied, which would ordinarly confuse
|
before the file is completely copied, which would ordinarily confuse
|
||||||
<application>pg_standby</application>. Therefore
|
<application>pg_standby</application>. Therefore
|
||||||
<application>pg_standby</application> waits <literal>sleeptime</>
|
<application>pg_standby</application> waits <literal>sleeptime</>
|
||||||
seconds once it sees the proper file size. GNUWin32's <literal>cp</>
|
seconds once it sees the proper file size. GNUWin32's <literal>cp</>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgstattuple.sgml,v 1.7 2010/08/10 20:42:01 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgstattuple.sgml,v 1.8 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgstattuple">
|
<sect1 id="pgstattuple">
|
||||||
<title>pgstattuple</title>
|
<title>pgstattuple</title>
|
||||||
@ -140,7 +140,7 @@ free_percent | 1.95
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<function>pgstatindex</function> returns a record showing information
|
<function>pgstatindex</function> returns a record showing information
|
||||||
about a btree index. For example:
|
about a B-tree index. For example:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
test=> SELECT * FROM pgstatindex('pg_cast_oid_index');
|
test=> SELECT * FROM pgstatindex('pg_cast_oid_index');
|
||||||
-[ RECORD 1 ]------+------
|
-[ RECORD 1 ]------+------
|
||||||
@ -174,7 +174,7 @@ leaf_fragmentation | 0
|
|||||||
<row>
|
<row>
|
||||||
<entry><structfield>version</structfield></entry>
|
<entry><structfield>version</structfield></entry>
|
||||||
<entry><type>integer</type></entry>
|
<entry><type>integer</type></entry>
|
||||||
<entry>Btree version number</entry>
|
<entry>B-tree version number</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgtrgm.sgml,v 2.3 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgtrgm.sgml,v 2.4 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgtrgm">
|
<sect1 id="pgtrgm">
|
||||||
<title>pg_trgm</title>
|
<title>pg_trgm</title>
|
||||||
@ -130,7 +130,7 @@
|
|||||||
operator classes that allow you to create an index over a text column for
|
operator classes that allow you to create an index over a text column for
|
||||||
the purpose of very fast similarity searches. These index types support
|
the purpose of very fast similarity searches. These index types support
|
||||||
the <literal>%</> similarity operator (and no other operators, so you may
|
the <literal>%</> similarity operator (and no other operators, so you may
|
||||||
want a regular btree index too).
|
want a regular B-tree index too).
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgupgrade.sgml,v 1.13 2010/07/25 03:28:32 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgupgrade.sgml,v 1.14 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="pgupgrade">
|
<sect1 id="pgupgrade">
|
||||||
<title>pg_upgrade</title>
|
<title>pg_upgrade</title>
|
||||||
@ -8,21 +8,21 @@
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>pg_upgrade</> (formerly called pg_migrator) allows data
|
<application>pg_upgrade</> (formerly called <application>pg_migrator</>) allows data
|
||||||
stored in <productname>PostgreSQL</> data files to be migrated to a later <productname>PostgreSQL</>
|
stored in <productname>PostgreSQL</> data files to be migrated to a later <productname>PostgreSQL</>
|
||||||
major version without the data dump/reload typically required for
|
major version without the data dump/reload typically required for
|
||||||
major version upgrades, e.g. from 8.4.7 to the current major release
|
major version upgrades, e.g. from 8.4.7 to the current major release
|
||||||
of <productname>PostgreSQL</>. It is not required for minor version upgrades, e.g
|
of <productname>PostgreSQL</>. It is not required for minor version upgrades, e.g. from
|
||||||
9.0.1 -> 9.0.4.
|
9.0.1 to 9.0.4.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>pg_upgrade</> works because, though new features are
|
<application>pg_upgrade</> works because, though new features are
|
||||||
regularly added to Postgres major releases, the internal data storage
|
regularly added to PostgreSQL major releases, the internal data storage
|
||||||
format rarely changes. <application>pg_upgrade</> does its best to
|
format rarely changes. <application>pg_upgrade</> does its best to
|
||||||
make sure the old and new clusters are binary-compatible, e.g. by
|
make sure the old and new clusters are binary-compatible, e.g. by
|
||||||
checking for compatible compile-time settings. It is important that
|
checking for compatible compile-time settings. It is important that
|
||||||
any external modules are also binary compatibile, though this cannot
|
any external modules are also binary compatible, though this cannot
|
||||||
be checked by <application>pg_upgrade</>.
|
be checked by <application>pg_upgrade</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -144,50 +144,43 @@
|
|||||||
<sect2>
|
<sect2>
|
||||||
<title>Upgrade Steps</title>
|
<title>Upgrade Steps</title>
|
||||||
|
|
||||||
<orderedlist>
|
<procedure>
|
||||||
<listitem>
|
<step performance="optional">
|
||||||
<para>
|
<title>Optionally move the old cluster</title>
|
||||||
Optionally move the old cluster
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you are using a version-specific installation directory, e.g.
|
If you are using a version-specific installation directory, e.g.
|
||||||
/opt/PostgreSQL/8.4, you do not need to move the old cluster. The
|
<filename>/opt/PostgreSQL/8.4</>, you do not need to move the old cluster. The
|
||||||
one-click installers all use version-specific install directories.
|
one-click installers all use version-specific installation directories.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If your installation directory is not version-specific, e.g.
|
If your installation directory is not version-specific, e.g.
|
||||||
/usr/local/pgsql, it is necessary to move the current PostgreSQL install
|
<filename>/usr/local/pgsql</>, it is necessary to move the current PostgreSQL install
|
||||||
directory so it does not interfere with the new <productname>PostgreSQL</> installation.
|
directory so it does not interfere with the new <productname>PostgreSQL</> installation.
|
||||||
Once the current <productname>PostgreSQL</> server is shut down, it is safe to rename the
|
Once the current <productname>PostgreSQL</> server is shut down, it is safe to rename the
|
||||||
PostgreSQL install directory; assuming the old directory is
|
PostgreSQL installation directory; assuming the old directory is
|
||||||
/usr/local/pgsql, you can do:
|
<filename>/usr/local/pgsql</>, you can do:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
mv /usr/local/pgsql /usr/local/pgsql.old
|
mv /usr/local/pgsql /usr/local/pgsql.old
|
||||||
</programlisting>
|
</programlisting>
|
||||||
to rename the directory.
|
to rename the directory.
|
||||||
</para>
|
</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
</listitem>
|
<step>
|
||||||
|
<title>For source installs, build the new version</title>
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
For source installs, build the new version
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Build the new PostgreSQL source with configure flags that are compatible
|
Build the new PostgreSQL source with <command>configure</> flags that are compatible
|
||||||
with the old cluster. <application>pg_upgrade</> will check <command>pg_controldata</> to make
|
with the old cluster. <application>pg_upgrade</> will check <command>pg_controldata</> to make
|
||||||
sure all settings are compatible before starting the upgrade.
|
sure all settings are compatible before starting the upgrade.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Install the new PostgreSQL binaries</title>
|
||||||
Install the new PostgreSQL binaries
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Install the new server's binaries and support files. You can use the
|
Install the new server's binaries and support files. You can use the
|
||||||
@ -197,75 +190,67 @@ mv /usr/local/pgsql /usr/local/pgsql.old
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
For source installs, if you wish to install the new server in a custom
|
For source installs, if you wish to install the new server in a custom
|
||||||
location, use 'prefix':
|
location, use the <literal>prefix</literal> variable:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
gmake prefix=/usr/local/pgsql.new install
|
gmake prefix=/usr/local/pgsql.new install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<title>Install pg_upgrade</title>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
<para>
|
||||||
Install <application>pg_upgrade</> and
|
Install <application>pg_upgrade</> and
|
||||||
<application>pg_upgrade_support</> in the new PostgreSQL cluster
|
<application>pg_upgrade_support</> in the new PostgreSQL cluster
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Initialize the new PostgreSQL cluster</title>
|
||||||
Initialize the new PostgreSQL cluster
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Initialize the new cluster <xref
|
Initialize the new cluster using <command>initdb</command>.
|
||||||
linkend="app-initdb">,<indexterm><primary>initdb</></>.
|
Again, use compatible <command>initdb</command>
|
||||||
Again, use compatible initdb
|
|
||||||
flags that match the old cluster. Many
|
flags that match the old cluster. Many
|
||||||
prebuilt installers do this step automatically. There is no need to
|
prebuilt installers do this step automatically. There is no need to
|
||||||
start the new cluster.
|
start the new cluster.
|
||||||
</para>
|
</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
</listitem>
|
<step>
|
||||||
|
<title>Install custom shared object files</title>
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Install custom shared object files (or DLLs)
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Install any custom shared object files (or DLLs) used by the old cluster
|
Install any custom shared object files (or DLLs) used by the old cluster
|
||||||
into the new cluster, e.g. pgcrypto.so, whether they are from /contrib
|
into the new cluster, e.g. <filename>pgcrypto.so</filename>, whether they are from <filename>contrib</filename>
|
||||||
or some other source. Do not install the schema definitions, e.g.
|
or some other source. Do not install the schema definitions, e.g.
|
||||||
pgcrypto.sql --- these will be migrated from the old cluster.
|
<filename>pgcrypto.sql</>, because these will be migrated from the old cluster.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Adjust authentication</title>
|
||||||
Adjust authentication
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
pg_upgrade will connect to the old and new servers several times,
|
<command>pg_upgrade</> will connect to the old and new servers several times,
|
||||||
so you might want to set authentication to <literal>trust</> in
|
so you might want to set authentication to <literal>trust</> in
|
||||||
<filename>pg_hba.conf</>, or if using <literal>md5</> authentication,
|
<filename>pg_hba.conf</>, or if using <literal>md5</> authentication,
|
||||||
use a <filename>~/.pgpass</> file (see <xref linkend="libpq-pgpass">)
|
use a <filename>~/.pgpass</> file (see <xref linkend="libpq-pgpass">)
|
||||||
to avoid being prompted repeatedly for a password.
|
to avoid being prompted repeatedly for a password.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Stop both servers</title>
|
||||||
Stop both servers
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Make sure both database servers are stopped using on Unix, e.g.:
|
Make sure both database servers are stopped using on Unix, e.g.:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
pg_ctl --pgdata /opt/PostgreSQL/8.4 stop
|
pg_ctl -D /opt/PostgreSQL/8.4 stop
|
||||||
pg_ctl --pgdata /opt/PostgreSQL/9.0 stop
|
pg_ctl -D /opt/PostgreSQL/9.0 stop
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
or on Windows
|
or on Windows
|
||||||
@ -281,27 +266,25 @@ NET STOP postgresql-9.0
|
|||||||
NET STOP pgsql-8.3 (<productname>PostgreSQL</> 8.3 and older used a different service name)
|
NET STOP pgsql-8.3 (<productname>PostgreSQL</> 8.3 and older used a different service name)
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Run <application>pg_upgrade</></title>
|
||||||
Run <application>pg_upgrade</>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Always run the <application>pg_upgrade</> binary in the new server, not the old one.
|
Always run the <application>pg_upgrade</> binary in the new server, not the old one.
|
||||||
<application>pg_upgrade</> requires the specification of the old and new cluster's
|
<application>pg_upgrade</> requires the specification of the old and new cluster's
|
||||||
<varname>PGDATA</> and executable (/bin) directories. You can also specify separate
|
data and executable (<filename>bin</>) directories. You can also specify separate
|
||||||
user and port values, and whether you want the data linked instead of
|
user and port values, and whether you want the data linked instead of
|
||||||
copied (the default). If you use linking, the migration will be much
|
copied (the default). If you use linking, the migration will be much
|
||||||
faster (no data copying), but you will no longer be able to access your
|
faster (no data copying), but you will no longer be able to access your
|
||||||
old cluster once you start the new cluster after the upgrade. See
|
old cluster once you start the new cluster after the upgrade. See
|
||||||
pg_upgrade --help for a full list of options.
|
<literal>pg_upgrade --help</> for a full list of options.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
For Windows users, you must be logged into an administrative account, and
|
For Windows users, you must be logged into an administrative account, and
|
||||||
then start a shell as the 'postgres' user and set the proper path:
|
then start a shell as the <literal>postgres</> user and set the proper path:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
RUNAS /USER:postgres "CMD.EXE"
|
RUNAS /USER:postgres "CMD.EXE"
|
||||||
@ -318,10 +301,10 @@ pg_upgrade.exe
|
|||||||
--new-bindir "C:/Program Files/PostgreSQL/9.0/bin"
|
--new-bindir "C:/Program Files/PostgreSQL/9.0/bin"
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
Once started, pg_upgrade will verify the two clusters are compatible
|
Once started, <command>pg_upgrade</> will verify the two clusters are compatible
|
||||||
and then do the migration. You can use pg_upgrade <option>--check</>
|
and then do the migration. You can use <command>pg_upgrade --check</>
|
||||||
to perform only the checks, even if the old server is still
|
to perform only the checks, even if the old server is still
|
||||||
running. pg_upgrade <option>--check</> will also outline any
|
running. <command>pg_upgrade --check</> will also outline any
|
||||||
manual adjustments you will need to make after the migration.
|
manual adjustments you will need to make after the migration.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -330,31 +313,27 @@ pg_upgrade.exe
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If an error occurs while restoring the database schema, pg_upgrade will
|
If an error occurs while restoring the database schema, <command>pg_upgrade</> will
|
||||||
exit and you will have to revert to the old cluster as outlined in step
|
exit and you will have to revert to the old cluster as outlined in <xref linkend="pgupgrade-step-revert">
|
||||||
#15 below. To try pg_upgrade again, you will need to modify the old
|
below. To try <command>pg_upgrade</command> again, you will need to modify the old
|
||||||
cluster so the pg_upgrade schema restore succeeds. If the problem is a
|
cluster so the pg_upgrade schema restore succeeds. If the problem is a
|
||||||
/contrib module, you might need to uninstall the /contrib module from
|
contrib module, you might need to uninstall the contrib module from
|
||||||
the old cluster and install it in the new cluster after the migration,
|
the old cluster and install it in the new cluster after the migration,
|
||||||
assuming the module is not being used to store user data.
|
assuming the module is not being used to store user data.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Restore <filename>pg_hba.conf</></title>
|
||||||
Restore <filename>pg_hba.conf</>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you modified <filename>pg_hba.conf</> to use <literal>trust</>,
|
If you modified <filename>pg_hba.conf</> to use <literal>trust</>,
|
||||||
restore its original authentication settings.
|
restore its original authentication settings.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Post-migration processing</title>
|
||||||
Post-Migration processing
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If any post-migration processing is required, pg_upgrade will issue
|
If any post-migration processing is required, pg_upgrade will issue
|
||||||
@ -379,76 +358,81 @@ psql --username postgres --file script.sql postgres
|
|||||||
scripts can be accessed immediately.
|
scripts can be accessed immediately.
|
||||||
</para>
|
</para>
|
||||||
</caution>
|
</caution>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<title>Statistics</title>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
<para>
|
||||||
Statistics
|
Because optimizer statistics are not transferred by <command>pg_upgrade</>, you will
|
||||||
</para>
|
|
||||||
<caution>
|
|
||||||
<para>
|
|
||||||
Because optimizer statistics are not transferred by pg_upgrade, you will
|
|
||||||
be instructed to run a command to regenerate that information at the end
|
be instructed to run a command to regenerate that information at the end
|
||||||
of the migration.
|
of the migration.
|
||||||
</para>
|
</para>
|
||||||
</caution>
|
</step>
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>
|
<title>Delete old cluster</title>
|
||||||
Delete old cluster
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Once you are satisfied with the upgrade, you can delete the old
|
Once you are satisfied with the upgrade, you can delete the old
|
||||||
cluster's data directories by running the script mentioned when
|
cluster's data directories by running the script mentioned when
|
||||||
pg_upgrade completes. You will need to manually delete the old install
|
<command>pg_upgrade</command> completes. You can also delete the
|
||||||
directories, e.g. /bin, /share.
|
old installation directories
|
||||||
|
(e.g. <filename>bin</>, <filename>share</>).
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step id="pgupgrade-step-revert" performance="optional">
|
||||||
|
<title>Reverting to old cluster</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If, after running <command>pg_upgrade</command>, you wish to revert to the old cluster,
|
||||||
|
there are several options:
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
If you ran <command>pg_upgrade</command>
|
||||||
|
with <option>--check</>, no modifications were made to the old
|
||||||
|
cluster and you can re-use it anytime.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Reverting to old cluster
|
If you ran <command>pg_upgrade</command>
|
||||||
|
with <option>--link</>, the data files are shared between the
|
||||||
|
old and new cluster. If you started the new cluster, the new
|
||||||
|
server has written to those shared files and it is unsafe to
|
||||||
|
use the old cluster.
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If, after running pg_upgrade, you wish to revert to the old cluster,
|
If you
|
||||||
there are several options.
|
ran <command>pg_upgrade</command> <emphasis>without</> <option>--link</>
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you ran pg_upgrade with <option>--check</>, no modifications
|
|
||||||
were made to the old cluster and you can re-use it anytime.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you ran pg_upgrade with <option>--link</>, the data files
|
|
||||||
are shared between the old and new cluster. If you started
|
|
||||||
the new cluster, the new server has written to those shared
|
|
||||||
files and it is unsafe to use the old cluster.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you ran pg_upgrade <emphasis>without</>_ <option>--link</>
|
|
||||||
or did not start the new server, the old cluster was not
|
or did not start the new server, the old cluster was not
|
||||||
modified except that an <literal>.old</> suffix was appended
|
modified except that an <literal>.old</> suffix was appended
|
||||||
to <filename>$PGDATA/global/pg_control</> and perhaps tablespace
|
to <filename>$PGDATA/global/pg_control</> and perhaps
|
||||||
directories. To reuse the old cluster, remove the ".old"
|
tablespace directories. To reuse the old cluster, remove
|
||||||
suffix from <filename>$PGDATA/global/pg_control</>. and, if
|
the <filename>.old</> suffix
|
||||||
migrating to 8.4 or earlier, remove the tablespace directories
|
from <filename>$PGDATA/global/pg_control</>. and, if migrating
|
||||||
created by the migration and remove the ".old" suffix from
|
to 8.4 or earlier, remove the tablespace directories created
|
||||||
|
by the migration and remove the <filename>.old</> suffix from
|
||||||
the tablespace directory names; then you can restart the old
|
the tablespace directory names; then you can restart the old
|
||||||
cluster.
|
cluster.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</orderedlist>
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Limitations in migrating <emphasis>from</> PostgreSQL 8.3</title>
|
<title>Limitations in Migrating <emphasis>from</> PostgreSQL 8.3</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Upgrading from PostgreSQL 8.3 has additional restrictions not present
|
Upgrading from PostgreSQL 8.3 has additional restrictions not present
|
||||||
@ -478,7 +462,7 @@ psql --username postgres --file script.sql postgres
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
a user column is of data type tsvector
|
a user column is of data type <type>tsvector</type>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -489,7 +473,7 @@ psql --username postgres --file script.sql postgres
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
an index is of type hash or gin
|
an index is of type hash or GIN
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -522,7 +506,7 @@ psql --username postgres --file script.sql postgres
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>pg_upgrade</> does not support migration of databases
|
<application>pg_upgrade</> does not support migration of databases
|
||||||
containing these reg* system oid-referencing data types:
|
containing these <type>reg*</> OID-referencing system data types:
|
||||||
<type>regproc</>, <type>regprocedure</>, <type>regoper</>,
|
<type>regproc</>, <type>regprocedure</>, <type>regoper</>,
|
||||||
<type>regoperator</>, <type>regclass</>, <type>regconfig</>, and
|
<type>regoperator</>, <type>regclass</>, <type>regconfig</>, and
|
||||||
<type>regdictionary</>. (<type>regtype</> can be migrated.)
|
<type>regdictionary</>. (<type>regtype</> can be migrated.)
|
||||||
@ -544,9 +528,9 @@ psql --username postgres --file script.sql postgres
|
|||||||
If you want to use link mode and you don't want your old cluster
|
If you want to use link mode and you don't want your old cluster
|
||||||
to be modified when the new cluster is started, make a copy of the
|
to be modified when the new cluster is started, make a copy of the
|
||||||
old cluster and migrate that with link mode. To make a valid copy
|
old cluster and migrate that with link mode. To make a valid copy
|
||||||
of the old cluster, use <application>rsync</> to create a dirty
|
of the old cluster, use <command>rsync</> to create a dirty
|
||||||
copy of the old cluster while the server is running, then shut down
|
copy of the old cluster while the server is running, then shut down
|
||||||
the old server and run rsync again to update the copy with any
|
the old server and run <command>rsync</> again to update the copy with any
|
||||||
changes to make it consistent.
|
changes to make it consistent.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/planstats.sgml,v 1.10 2010/07/13 20:57:19 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/planstats.sgml,v 1.11 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="planner-stats-details">
|
<chapter id="planner-stats-details">
|
||||||
<title>How the Planner Uses Statistics</title>
|
<title>How the Planner Uses Statistics</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.87 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.88 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="plperl">
|
<chapter id="plperl">
|
||||||
<title>PL/Perl - Perl Procedural Language</title>
|
<title>PL/Perl - Perl Procedural Language</title>
|
||||||
@ -694,7 +694,7 @@ SELECT release_hosts_query();
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Return the unescaped binary data represented by the contents of the given string,
|
Return the unescaped binary data represented by the contents of the given string,
|
||||||
which should be bytea encoded.
|
which should be <type>bytea</type> encoded.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -708,7 +708,7 @@ SELECT release_hosts_query();
|
|||||||
<term><literal><function>encode_bytea</>(<replaceable>string</replaceable>)</literal></term>
|
<term><literal><function>encode_bytea</>(<replaceable>string</replaceable>)</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Return the bytea encoded form of the binary data contents of the given string.
|
Return the <type>bytea</type> encoded form of the binary data contents of the given string.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.157 2010/08/09 02:25:05 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.158 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="plpgsql">
|
<chapter id="plpgsql">
|
||||||
<title><application>PL/pgSQL</application> - <acronym>SQL</acronym> Procedural Language</title>
|
<title><application>PL/pgSQL</application> - <acronym>SQL</acronym> Procedural Language</title>
|
||||||
@ -1842,7 +1842,7 @@ END CASE;
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The searched form of <command>CASE</> provides conditional execution
|
The searched form of <command>CASE</> provides conditional execution
|
||||||
based on truth of boolean expressions. Each <literal>WHEN</> clause's
|
based on truth of Boolean expressions. Each <literal>WHEN</> clause's
|
||||||
<replaceable>boolean-expression</replaceable> is evaluated in turn,
|
<replaceable>boolean-expression</replaceable> is evaluated in turn,
|
||||||
until one is found that yields <literal>true</>. Then the
|
until one is found that yields <literal>true</>. Then the
|
||||||
corresponding <replaceable>statements</replaceable> are executed, and
|
corresponding <replaceable>statements</replaceable> are executed, and
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_opfamily.sgml,v 1.7 2010/04/03 07:22:57 petere Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_opfamily.sgml,v 1.8 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_role.sgml,v 1.17 2010/04/21 20:54:19 tgl Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_role.sgml,v 1.18 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <repl
|
|||||||
the named database. Whenever the role subsequently
|
the named database. Whenever the role subsequently
|
||||||
starts a new session, the specified value becomes the session
|
starts a new session, the specified value becomes the session
|
||||||
default, overriding whatever setting is present in
|
default, overriding whatever setting is present in
|
||||||
<filename>postgresql.conf</> or has been received from the postgres
|
<filename>postgresql.conf</> or has been received from the <command>postgres</command>
|
||||||
command line. This only happens at login time; executing
|
command line. This only happens at login time; executing
|
||||||
<xref linkend="sql-set-role"> or
|
<xref linkend="sql-set-role"> or
|
||||||
<xref linkend="sql-set-session-authorization"> does not cause new
|
<xref linkend="sql-set-session-authorization"> does not cause new
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.25 2010/04/03 07:22:58 petere Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.26 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.130 2010/07/26 01:43:52 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.131 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -512,7 +512,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE [ IF NOT EXISTS ] <repl
|
|||||||
The access method must support <literal>amgettuple</> (see <xref
|
The access method must support <literal>amgettuple</> (see <xref
|
||||||
linkend="indexam">); at present this means <acronym>GIN</>
|
linkend="indexam">); at present this means <acronym>GIN</>
|
||||||
cannot be used. Although it's allowed, there is little point in using
|
cannot be used. Although it's allowed, there is little point in using
|
||||||
btree or hash indexes with an exclusion constraint, because this
|
B-tree or hash indexes with an exclusion constraint, because this
|
||||||
does nothing that an ordinary unique constraint doesn't do better.
|
does nothing that an ordinary unique constraint doesn't do better.
|
||||||
So in practice the access method will always be <acronym>GiST</>.
|
So in practice the access method will always be <acronym>GiST</>.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.53 2010/04/03 07:23:00 petere Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.54 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Also, a trigger definition can specify a boolean <literal>WHEN</>
|
Also, a trigger definition can specify a Boolean <literal>WHEN</>
|
||||||
condition, which will be tested to see whether the trigger should
|
condition, which will be tested to see whether the trigger should
|
||||||
be fired. In row-level triggers the <literal>WHEN</> condition can
|
be fired. In row-level triggers the <literal>WHEN</> condition can
|
||||||
examine the old and/or new values of columns of the row. Statement-level
|
examine the old and/or new values of columns of the row. Statement-level
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.51 2010/06/22 16:19:36 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.52 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -403,7 +403,7 @@ PostgreSQL documentation
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Default host name or Unix-domain socket location for <xref
|
Default host name or Unix-domain socket location for <xref
|
||||||
linkend="app-psql"> (used by the -w option).
|
linkend="app-psql"> (used by the <option>-w</option> option).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -413,7 +413,7 @@ PostgreSQL documentation
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Default port number for <xref linkend="app-psql"> (used by the -w option).
|
Default port number for <xref linkend="app-psql"> (used by the <option>-w</option> option).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.83 2010/07/22 01:22:33 rhaas Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.84 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -406,8 +406,8 @@ PostgreSQL documentation
|
|||||||
<para>
|
<para>
|
||||||
Specifies the name of the database to connect to to dump global
|
Specifies the name of the database to connect to to dump global
|
||||||
objects and discover what other databases should be dumped. If
|
objects and discover what other databases should be dumped. If
|
||||||
not specified, the <quote>postgres</quote> database will be used,
|
not specified, the <literal>postgres</literal> database will be used,
|
||||||
and if that does not exist, <quote>template1</quote> will be used.
|
and if that does not exist, <literal>template1</literal> will be used.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.87 2010/05/15 18:11:07 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.88 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<refentry id="APP-PGRESTORE">
|
<refentry id="APP-PGRESTORE">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
@ -221,7 +221,7 @@
|
|||||||
create indexes, or create constraints — using multiple
|
create indexes, or create constraints — using multiple
|
||||||
concurrent jobs. This option can dramatically reduce the time
|
concurrent jobs. This option can dramatically reduce the time
|
||||||
to restore a large database to a server running on a
|
to restore a large database to a server running on a
|
||||||
multi-processor machine.
|
multiprocessor machine.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.249 2010/08/14 13:59:49 tgl Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.250 2010/08/17 04:37:21 petere Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -1043,7 +1043,7 @@ testdb=>
|
|||||||
If <replaceable class="parameter">pattern</replaceable> is
|
If <replaceable class="parameter">pattern</replaceable> is
|
||||||
specified, only those servers whose name matches the pattern
|
specified, only those servers whose name matches the pattern
|
||||||
are listed. If the form <literal>\des+</literal> is used, a
|
are listed. If the form <literal>\des+</literal> is used, a
|
||||||
full desription of each server is shown, including the
|
full description of each server is shown, including the
|
||||||
server's ACL, type, version, and options.
|
server's ACL, type, version, and options.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1706,8 +1706,8 @@ lo_import 152801
|
|||||||
<para>
|
<para>
|
||||||
Prompts the user to set variable <replaceable
|
Prompts the user to set variable <replaceable
|
||||||
class="parameter">name</>. An optional prompt, <replaceable
|
class="parameter">name</>. An optional prompt, <replaceable
|
||||||
class="parameter">text</>, can be specified. (For multi-word
|
class="parameter">text</>, can be specified. (For multiword
|
||||||
prompts, use single-quotes.)
|
prompts, use single quotes.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -2836,7 +2836,7 @@ testdb=> <userinput>SELECT * FROM :"foo";</userinput>
|
|||||||
testdb=> <userinput>\set content `cat my_file.txt`</userinput>
|
testdb=> <userinput>\set content `cat my_file.txt`</userinput>
|
||||||
testdb=> <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
|
testdb=> <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
(Note that this still won't work if my_file.txt contains NUL bytes.
|
(Note that this still won't work if <filename>my_file.txt</filename> contains NUL bytes.
|
||||||
psql does not support embedded NUL bytes in variable values.)
|
psql does not support embedded NUL bytes in variable values.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.67 2010/05/02 12:22:40 sriggs Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.68 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="regress">
|
<chapter id="regress">
|
||||||
<title>Regression Tests</title>
|
<title>Regression Tests</title>
|
||||||
@ -165,8 +165,8 @@ psql -h primary -c "CREATE DATABASE regression"
|
|||||||
psql -h primary -f src/test/regress/sql/hs_primary_setup.sql regression
|
psql -h primary -f src/test/regress/sql/hs_primary_setup.sql regression
|
||||||
</screen>
|
</screen>
|
||||||
Now confirm that the default connection for the tester is the standby
|
Now confirm that the default connection for the tester is the standby
|
||||||
server under test and then run standbycheck from the regression
|
server under test and then run the <literal>standbycheck</> target from the regression
|
||||||
directory.
|
directory:
|
||||||
<screen>
|
<screen>
|
||||||
cd src/test/regress
|
cd src/test/regress
|
||||||
gmake standbycheck
|
gmake standbycheck
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.48 2010/08/07 13:07:06 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.49 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="release-9-0">
|
<sect1 id="release-9-0">
|
||||||
<title>Release 9.0</title>
|
<title>Release 9.0</title>
|
||||||
@ -99,7 +99,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
New and enhanced security features, including RADIUS authentication,
|
New and enhanced security features, including RADIUS authentication,
|
||||||
LDAP authentication improvements, and the new checkpassword optional module
|
LDAP authentication improvements, and the new <filename>checkpassword</> optional module
|
||||||
for testing password strength.
|
for testing password strength.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link>
|
Add <link linkend="pgupgrade"><filename>contrib/pg_upgrade</></link>
|
||||||
to support in-place upgrades from 8.3 or 8.4 to 9.0.
|
to support in-place upgrades from 8.3 or 8.4 to 9.0.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -149,14 +149,14 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
EXPLAIN plans are now available in JSON, XML and YAML format, and include
|
<command>EXPLAIN</> plans are now available in JSON, XML, and YAML format, and include
|
||||||
buffer utilization and other data not previously available.
|
buffer utilization and other data not previously available.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The HStore optional module has been improved with new functions and greater
|
The <filename>hstore</> optional module has been improved with new functions and greater
|
||||||
data capacity to make it a high-performance key-value store.
|
data capacity to make it a high-performance key-value store.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -205,7 +205,7 @@
|
|||||||
Remove server variable <varname>regex_flavor</>, which
|
Remove server variable <varname>regex_flavor</>, which
|
||||||
was defaulted to <link
|
was defaulted to <link
|
||||||
linkend="posix-syntax-details"><literal>advanced</></link>
|
linkend="posix-syntax-details"><literal>advanced</></link>
|
||||||
(e.g. Perl-regex compatible) for many years. (Tom Lane)
|
(i.e., Perl compatible) for many years. (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -554,7 +554,7 @@
|
|||||||
<para>
|
<para>
|
||||||
This is particularly useful for finding
|
This is particularly useful for finding
|
||||||
<function>MAX()</>/<function>MIN()</> values in indexes that also
|
<function>MAX()</>/<function>MIN()</> values in indexes that also
|
||||||
contain NULLs.
|
contain null values.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -581,7 +581,7 @@
|
|||||||
While the Genetic Query Optimizer (GEQO) still selects
|
While the Genetic Query Optimizer (GEQO) still selects
|
||||||
random plans, it now selects the same random plans for
|
random plans, it now selects the same random plans for
|
||||||
identical queries. You can modify <link
|
identical queries. You can modify <link
|
||||||
linkend="guc-geqo-seed">geqo_seed</link> to randomize
|
linkend="guc-geqo-seed"><varname>geqo_seed</></link> to randomize
|
||||||
the starting value of the random plan generator.
|
the starting value of the random plan generator.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -766,7 +766,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Now there is true multi-lingual support for PostgreSQL log messages
|
Now there is true multilingual support for PostgreSQL log messages
|
||||||
on Windows.
|
on Windows.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -827,7 +827,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add boolean variable <link
|
Add Boolean variable <link
|
||||||
linkend="guc-bonjour"><varname>bonjour</></link>, which
|
linkend="guc-bonjour"><varname>bonjour</></link>, which
|
||||||
controls whether a Bonjour-enabled binary advertises
|
controls whether a Bonjour-enabled binary advertises
|
||||||
itself via <productname>Bonjour</> (Tom Lane)
|
itself via <productname>Bonjour</> (Tom Lane)
|
||||||
@ -840,7 +840,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add boolean variable <link
|
Add Boolean variable <link
|
||||||
linkend="guc-enable-material"><varname>enable_material</></link>, which
|
linkend="guc-enable-material"><varname>enable_material</></link>, which
|
||||||
controls the use of materialize nodes in the optimizer
|
controls the use of materialize nodes in the optimizer
|
||||||
(Robert Haas)
|
(Robert Haas)
|
||||||
@ -1390,7 +1390,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <literal>point_ops</> opclass for GiST (Teodor Sigaev)
|
Add <literal>point_ops</> operator class for GiST (Teodor Sigaev)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -1433,7 +1433,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The variable <link
|
The variable <link
|
||||||
linkend="guc-bytea-output">bytea_output</link> controls
|
linkend="guc-bytea-output"><varname>bytea_output</></link> controls
|
||||||
if hex (default) or octal escapes are used for <type>bytea</>
|
if hex (default) or octal escapes are used for <type>bytea</>
|
||||||
output. (SWITCH DEFAULT FOR BETA? PETER) Libpq's
|
output. (SWITCH DEFAULT FOR BETA? PETER) Libpq's
|
||||||
<function>PQescapeByteaConn()</> now uses the hex format
|
<function>PQescapeByteaConn()</> now uses the hex format
|
||||||
@ -1516,8 +1516,8 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Previously, only <acronym>ASCII</> characters and single-byte
|
Previously, only <acronym>ASCII</> characters and single-byte
|
||||||
encodings worked properly. Other multi-byte, non-<acronym>UTF-8</>
|
encodings worked properly. Multibyte encodings other than <acronym>UTF-8</>
|
||||||
encodings are still broken for case-insensitive regular expression
|
are still broken for case-insensitive regular expression
|
||||||
matching.
|
matching.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1868,14 +1868,14 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add server variable <link
|
Add server variable <link
|
||||||
linkend="guc-plperl-on-init">plperl.on_init</link> to
|
linkend="guc-plperl-on-init"><varname>plperl.on_init</></link> to
|
||||||
specify a PL/Perl Perl initialization function (Tim
|
specify a PL/Perl Perl initialization function (Tim
|
||||||
Bunce)
|
Bunce)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<link
|
<link
|
||||||
linkend="guc-plperl-on-plperl-init">plperl.on_plperl_init</link>
|
linkend="guc-plperl-on-plperl-init"><varname>plperl.on_plperl_init</></link>
|
||||||
and <varname>plperl.on_plperlu_init</> are also available
|
and <varname>plperl.on_plperlu_init</> are also available
|
||||||
for trusted/untrusted-specific initialization.
|
for trusted/untrusted-specific initialization.
|
||||||
</para>
|
</para>
|
||||||
@ -1904,7 +1904,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
This can be globally enabled with the server variable <link
|
This can be globally enabled with the server variable <link
|
||||||
linkend="guc-plperl-use-strict">plperl.use_strict</link>.
|
linkend="guc-plperl-use-strict"><varname>plperl.use_strict</></link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1965,8 +1965,8 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<type>Bytea</> values passed into PL/Python now are represented as
|
<type>Bytea</> values passed into PL/Python now are represented as
|
||||||
binary, rather than the Postgres <type>bytea</> text format. Null
|
binary, rather than the PostgreSQL <type>bytea</> text format. Null
|
||||||
bytes are now also output properly from PL/Python. <type>Boolean</>
|
bytes are now also output properly from PL/Python. <type>boolean</>
|
||||||
and <type>numeric</> value passing in PL/Python was also improved.
|
and <type>numeric</> value passing in PL/Python was also improved.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -2489,7 +2489,7 @@
|
|||||||
<para>
|
<para>
|
||||||
These are similar to the existing <literal>all</>, <literal>install</>,
|
These are similar to the existing <literal>all</>, <literal>install</>,
|
||||||
and <literal>installcheck</> targets, but they build <acronym>HTML</>
|
and <literal>installcheck</> targets, but they build <acronym>HTML</>
|
||||||
documentation, build and test <filename>/contrib</>, and test
|
documentation, build and test <filename>contrib</>, and test
|
||||||
server-side languages and <application>ecpg</>.
|
server-side languages and <application>ecpg</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -2582,7 +2582,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow multi-processor compilation using <productname>Microsoft Visual
|
Allow multiprocessor compilation using <productname>Microsoft Visual
|
||||||
C</> (Magnus Hagander)
|
C</> (Magnus Hagander)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -2647,7 +2647,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Improve source code test coverage, including /contrib, PL/Python,
|
Improve source code test coverage, including <filename>contrib</>, PL/Python,
|
||||||
and PL/Perl (Peter Eisentraut, Andrew Dunstan)
|
and PL/Perl (Peter Eisentraut, Andrew Dunstan)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -2839,7 +2839,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link>
|
Add <link linkend="pgupgrade"><filename>contrib/pg_upgrade</></link>
|
||||||
to support in-place upgrades (Bruce Momjian)
|
to support in-place upgrades (Bruce Momjian)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2894,8 +2894,8 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add multi-threaded option (<option>-j</>) to <link
|
Add multithreaded option (<option>-j</>) to <link
|
||||||
linkend="pgbench"><filename>/contrib/pgbench</></link>
|
linkend="pgbench"><filename>contrib/pgbench</></link>
|
||||||
(Itagaki Takahiro)
|
(Itagaki Takahiro)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2908,7 +2908,7 @@
|
|||||||
<para>
|
<para>
|
||||||
Add <command>\shell</> and <command>\setshell</> meta
|
Add <command>\shell</> and <command>\setshell</> meta
|
||||||
commands to <link
|
commands to <link
|
||||||
linkend="pgbench"><filename>/contrib/pgbench</></link>
|
linkend="pgbench"><filename>contrib/pgbench</></link>
|
||||||
(Michael Paquier)
|
(Michael Paquier)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -2916,7 +2916,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
New features for <link
|
New features for <link
|
||||||
linkend="dict-xsyn"><filename>/contrib/dict_xsyn</></link>
|
linkend="dict-xsyn"><filename>contrib/dict_xsyn</></link>
|
||||||
(Sergey Karpov)
|
(Sergey Karpov)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2929,7 +2929,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add full text dictionary <link
|
Add full text dictionary <link
|
||||||
linkend="unaccent"><filename>/contrib/unaccent</></link>
|
linkend="unaccent"><filename>contrib/unaccent</></link>
|
||||||
(Teodor Sigaev)
|
(Teodor Sigaev)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2943,17 +2943,17 @@
|
|||||||
<para>
|
<para>
|
||||||
Add <link
|
Add <link
|
||||||
linkend="CONTRIB-DBLINK-GET-NOTIFY"><function>dblink_get_notify()</></link>
|
linkend="CONTRIB-DBLINK-GET-NOTIFY"><function>dblink_get_notify()</></link>
|
||||||
to <filename>/contrib/dblink</> (Marcus Kempe)
|
to <filename>contrib/dblink</> (Marcus Kempe)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This allows async notifications in <productname>dblink</>.
|
This allows asynchronous notifications in <productname>dblink</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Improve <filename>/contrib/dblink</>s handling of dropped columns
|
Improve <filename>contrib/dblink</>s handling of dropped columns
|
||||||
(Tom Lane)
|
(Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2967,22 +2967,22 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Greatly increase <link
|
Greatly increase <link
|
||||||
linkend="hstore"><filename>/contrib/hstore</></link>'s
|
linkend="hstore"><filename>contrib/hstore</></link>'s
|
||||||
length limit and add btree and hash abilities so <literal>GROUP
|
length limit and add B-tree and hash abilities so <literal>GROUP
|
||||||
BY</> and <literal>DISTINCT</> operations are possible
|
BY</> and <literal>DISTINCT</> operations are possible
|
||||||
(Andrew Gierth)
|
(Andrew Gierth)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
New functions and operators were also added. These improvements
|
New functions and operators were also added. These improvements
|
||||||
make HStore a full-functional key-value store embedded in PostgreSQL.
|
make hstore a full-functional key-value store embedded in PostgreSQL.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link
|
Add <link
|
||||||
linkend="passwordcheck"><filename>/contrib/passwordcheck</></link>
|
linkend="passwordcheck"><filename>contrib/passwordcheck</></link>
|
||||||
which can check the strength of assigned passwords (Laurenz
|
which can check the strength of assigned passwords (Laurenz
|
||||||
Albe)
|
Albe)
|
||||||
</para>
|
</para>
|
||||||
@ -2996,7 +2996,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <link
|
Add <link
|
||||||
linkend="pgarchivecleanup"><filename>/contrib/pg_archivecleanup</></link>
|
linkend="pgarchivecleanup"><filename>contrib/pg_archivecleanup</></link>
|
||||||
tool (Simon Riggs)
|
tool (Simon Riggs)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -3009,7 +3009,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add query text to <link
|
Add query text to <link
|
||||||
linkend="auto-explain"><filename>/contrib/auto_explain</></link>
|
linkend="auto-explain"><filename>contrib/auto_explain</></link>
|
||||||
output (Andrew Dunstan)
|
output (Andrew Dunstan)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3017,7 +3017,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add buffer access counters to <link
|
Add buffer access counters to <link
|
||||||
linkend="pgstatstatements"><filename>/contrib/pg_stat_statements</></link>
|
linkend="pgstatstatements"><filename>contrib/pg_stat_statements</></link>
|
||||||
(Itagaki Takahiro)
|
(Itagaki Takahiro)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3025,7 +3025,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Update <link
|
Update <link
|
||||||
linkend="server-start"><filename>/contrib/start-scripts/linux</></link>
|
linkend="server-start"><filename>contrib/start-scripts/linux</></link>
|
||||||
to use <filename>/proc/self/oom_adj</> to disable the
|
to use <filename>/proc/self/oom_adj</> to disable the
|
||||||
<link linkend="linux-memory-overcommit"><productname>Linux</>
|
<link linkend="linux-memory-overcommit"><productname>Linux</>
|
||||||
out-of-memory</link> (<acronym>OOM</>) killer (Alex
|
out-of-memory</link> (<acronym>OOM</>) killer (Alex
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.638 2010/03/21 22:12:27 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.639 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
Typical markup:
|
Typical markup:
|
||||||
@ -51,7 +51,7 @@ can be created without links to the main documentation. Don't use <xref>.
|
|||||||
A complete list of changes for each release can be obtained by
|
A complete list of changes for each release can be obtained by
|
||||||
viewing the <link linkend="cvs">CVS</link> logs for each release.
|
viewing the <link linkend="cvs">CVS</link> logs for each release.
|
||||||
The <ulink
|
The <ulink
|
||||||
url="http://archives.postgresql.org/pgsql-committers/">pgsql-committers
|
url="http://archives.postgresql.org/pgsql-committers/"><literal>pgsql-committers</literal>
|
||||||
email list</ulink> records all source code changes as well. There is also
|
email list</ulink> records all source code changes as well. There is also
|
||||||
a <ulink url="http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/">web
|
a <ulink url="http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/">web
|
||||||
interface</ulink> that shows changes to specific files.
|
interface</ulink> that shows changes to specific files.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/seg.sgml,v 1.8 2010/08/10 20:42:01 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/seg.sgml,v 1.9 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="seg">
|
<sect1 id="seg">
|
||||||
<title>seg</title>
|
<title>seg</title>
|
||||||
@ -237,7 +237,7 @@ test=> select '6.25 .. 6.50'::seg as "pH";
|
|||||||
<para>
|
<para>
|
||||||
The <filename>seg</> module includes a GiST index operator class for
|
The <filename>seg</> module includes a GiST index operator class for
|
||||||
<type>seg</> values.
|
<type>seg</> values.
|
||||||
The operators supported by the GiST opclass are shown in <xref linkend="seg-gist-operators">.
|
The operators supported by the GiST operator class are shown in <xref linkend="seg-gist-operators">.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<table id="seg-gist-operators">
|
<table id="seg-gist-operators">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.67 2010/04/03 07:22:55 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.68 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="spi">
|
<chapter id="spi">
|
||||||
<title>Server Programming Interface</title>
|
<title>Server Programming Interface</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/storage.sgml,v 1.33 2010/08/13 20:10:50 rhaas Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/storage.sgml,v 1.34 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="storage">
|
<chapter id="storage">
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/tablefunc.sgml,v 1.6 2010/08/10 20:42:01 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/tablefunc.sgml,v 1.7 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="tablefunc">
|
<sect1 id="tablefunc">
|
||||||
<title>tablefunc</title>
|
<title>tablefunc</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/trigger.sgml,v 1.63 2010/04/03 07:22:56 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/trigger.sgml,v 1.64 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="triggers">
|
<chapter id="triggers">
|
||||||
<title>Triggers</title>
|
<title>Triggers</title>
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
A trigger definition can also specify a boolean <literal>WHEN</>
|
A trigger definition can also specify a Boolean <literal>WHEN</>
|
||||||
condition, which will be tested to see whether the trigger should
|
condition, which will be tested to see whether the trigger should
|
||||||
be fired. In row-level triggers the <literal>WHEN</> condition can
|
be fired. In row-level triggers the <literal>WHEN</> condition can
|
||||||
examine the old and/or new values of columns of the row. (Statement-level
|
examine the old and/or new values of columns of the row. (Statement-level
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<filename>unaccent</> removes accents (diacritic signs) from a lexeme.
|
<filename>unaccent</> removes accents (diacritic signs) from a lexeme.
|
||||||
It's a filtering dictionary, that means its output is
|
It's a filtering dictionary, that means its output is
|
||||||
always passed to the next dictionary (if any), contrary to the standard
|
always passed to the next dictionary (if any), contrary to the standard
|
||||||
behavior. Currently, it supports most important accents from european
|
behavior. Currently, it supports most important accents from European
|
||||||
languages.
|
languages.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/vacuumlo.sgml,v 1.5 2010/07/29 19:34:40 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/vacuumlo.sgml,v 1.6 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="vacuumlo">
|
<sect1 id="vacuumlo">
|
||||||
<title>vacuumlo</title>
|
<title>vacuumlo</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/wal.sgml,v 1.71 2010/07/27 19:01:16 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/wal.sgml,v 1.72 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<chapter id="wal">
|
<chapter id="wal">
|
||||||
<title>Reliability and the Write-Ahead Log</title>
|
<title>Reliability and the Write-Ahead Log</title>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
write caches. At the drive level, disable write-back caching if the
|
write caches. At the drive level, disable write-back caching if the
|
||||||
drive cannot guarantee the data will be written before shutdown.
|
drive cannot guarantee the data will be written before shutdown.
|
||||||
You can test for reliable I/O subsystem behavior using <ulink
|
You can test for reliable I/O subsystem behavior using <ulink
|
||||||
url="http://brad.livejournal.com/2116715.html">diskchecker.pl</ulink>.
|
url="http://brad.livejournal.com/2116715.html"><filename>diskchecker.pl</filename></ulink>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.66 2010/02/24 15:54:31 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.67 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="xindex">
|
<sect1 id="xindex">
|
||||||
<title>Interfacing Extensions To Indexes</title>
|
<title>Interfacing Extensions To Indexes</title>
|
||||||
@ -416,39 +416,47 @@
|
|||||||
|
|
||||||
<table tocentry="1" id="xindex-gin-support-table">
|
<table tocentry="1" id="xindex-gin-support-table">
|
||||||
<title>GIN Support Functions</title>
|
<title>GIN Support Functions</title>
|
||||||
<tgroup cols="2">
|
<tgroup cols="3">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Function</entry>
|
<entry>Function</entry>
|
||||||
|
<entry>Description</entry>
|
||||||
<entry>Support Number</entry>
|
<entry>Support Number</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
|
<entry><function>compare</></entry>
|
||||||
<entry>
|
<entry>
|
||||||
compare - compare two keys and return an integer less than zero, zero,
|
compare two keys and return an integer less than zero, zero,
|
||||||
or greater than zero, indicating whether the first key is less than,
|
or greater than zero, indicating whether the first key is less than,
|
||||||
equal to, or greater than the second
|
equal to, or greater than the second
|
||||||
</entry>
|
</entry>
|
||||||
<entry>1</entry>
|
<entry>1</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>extractValue - extract keys from a value to be indexed</entry>
|
<entry><function>extractValue</></entry>
|
||||||
|
<entry>extract keys from a value to be indexed</entry>
|
||||||
<entry>2</entry>
|
<entry>2</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>extractQuery - extract keys from a query condition</entry>
|
<entry><function>extractQuery</></entry>
|
||||||
|
<entry>extract keys from a query condition</entry>
|
||||||
<entry>3</entry>
|
<entry>3</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>consistent - determine whether value matches query condition</entry>
|
<entry><function>consistent</></entry>
|
||||||
|
<entry>determine whether value matches query condition</entry>
|
||||||
<entry>4</entry>
|
<entry>4</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>comparePartial - (optional method) compare partial key from
|
<entry><function>comparePartial</></entry>
|
||||||
|
<entry>
|
||||||
|
(optional method) compare partial key from
|
||||||
query and key from index, and return an integer less than zero, zero,
|
query and key from index, and return an integer less than zero, zero,
|
||||||
or greater than zero, indicating whether GIN should ignore this index
|
or greater than zero, indicating whether GIN should ignore this index
|
||||||
entry, treat the entry as a match, or stop the index scan</entry>
|
entry, treat the entry as a match, or stop the index scan
|
||||||
|
</entry>
|
||||||
<entry>5</entry>
|
<entry>5</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xml2.sgml,v 1.10 2010/08/10 20:42:01 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/xml2.sgml,v 1.11 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="xml2">
|
<sect1 id="xml2">
|
||||||
<title>xml2</title>
|
<title>xml2</title>
|
||||||
@ -90,7 +90,7 @@ xpath_nodeset(document, query, toptag, itemtag) returns text
|
|||||||
<itemtag>Value 2....</itemtag>
|
<itemtag>Value 2....</itemtag>
|
||||||
</toptag>
|
</toptag>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
If either toptag or itemtag is an empty string, the relevant tag is omitted.
|
If either <literal>toptag</> or <literal>itemtag</> is an empty string, the relevant tag is omitted.
|
||||||
</para>
|
</para>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -102,7 +102,7 @@ xpath_nodeset(document, query) returns text
|
|||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<para>
|
<para>
|
||||||
Like xpath_nodeset(document,query,toptag,itemtag) but result omits both tags.
|
Like <function>xpath_nodeset(document, query, toptag, itemtag)</> but result omits both tags.
|
||||||
</para>
|
</para>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -114,7 +114,7 @@ xpath_nodeset(document, query, itemtag) returns text
|
|||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<para>
|
<para>
|
||||||
Like xpath_nodeset(document,query,toptag,itemtag) but result omits toptag.
|
Like <function>xpath_nodeset(document, query, toptag, itemtag)</> but result omits toptag.
|
||||||
</para>
|
</para>
|
||||||
</entry>
|
</entry>
|
||||||
</row>
|
</row>
|
||||||
@ -295,7 +295,7 @@ WHERE t.author_id = p.person_id;
|
|||||||
may not be the same as the number of input documents. The first row
|
may not be the same as the number of input documents. The first row
|
||||||
returned contains the first result from each query, the second row the
|
returned contains the first result from each query, the second row the
|
||||||
second result from each query. If one of the queries has fewer values
|
second result from each query. If one of the queries has fewer values
|
||||||
than the others, NULLs will be returned instead.
|
than the others, null values will be returned instead.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -337,8 +337,8 @@ WHERE id = 1 ORDER BY doc_num, line_num
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
To get doc_num on every line, the solution is to use two invocations
|
To get <literal>doc_num</> on every line, the solution is to use two invocations
|
||||||
of xpath_table and join the results:
|
of <function>xpath_table</> and join the results:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
SELECT t.*,i.doc_num FROM
|
SELECT t.*,i.doc_num FROM
|
||||||
@ -377,7 +377,7 @@ xslt_process(text document, text stylesheet, text paramlist) returns text
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
This function applies the XSL stylesheet to the document and returns
|
This function applies the XSL stylesheet to the document and returns
|
||||||
the transformed result. The paramlist is a list of parameter
|
the transformed result. The <literal>paramlist</> is a list of parameter
|
||||||
assignments to be used in the transformation, specified in the form
|
assignments to be used in the transformation, specified in the form
|
||||||
<literal>a=1,b=2</>. Note that the
|
<literal>a=1,b=2</>. Note that the
|
||||||
parameter parsing is very simple-minded: parameter values cannot
|
parameter parsing is very simple-minded: parameter values cannot
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xoper.sgml,v 1.43 2007/11/28 15:42:31 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/xoper.sgml,v 1.44 2010/08/17 04:37:21 petere Exp $ -->
|
||||||
|
|
||||||
<sect1 id="xoper">
|
<sect1 id="xoper">
|
||||||
<title>User-Defined Operators</title>
|
<title>User-Defined Operators</title>
|
||||||
@ -435,7 +435,7 @@ table1.column1 OP table2.column2
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
To be marked <literal>MERGES</literal>, the join operator must appear
|
To be marked <literal>MERGES</literal>, the join operator must appear
|
||||||
as an equality member of a btree index operator family.
|
as an equality member of a <literal>btree</> index operator family.
|
||||||
This is not enforced when you create
|
This is not enforced when you create
|
||||||
the operator, since of course the referencing operator family couldn't
|
the operator, since of course the referencing operator family couldn't
|
||||||
exist yet. But the operator will not actually be used for merge joins
|
exist yet. But the operator will not actually be used for merge joins
|
||||||
@ -450,7 +450,7 @@ table1.column1 OP table2.column2
|
|||||||
if they are different) that appears in the same operator family.
|
if they are different) that appears in the same operator family.
|
||||||
If this is not the case, planner errors might occur when the operator
|
If this is not the case, planner errors might occur when the operator
|
||||||
is used. Also, it is a good idea (but not strictly required) for
|
is used. Also, it is a good idea (but not strictly required) for
|
||||||
a btree operator family that supports multiple data types to provide
|
a <literal>btree</> operator family that supports multiple data types to provide
|
||||||
equality operators for every combination of the data types; this
|
equality operators for every combination of the data types; this
|
||||||
allows better optimization.
|
allows better optimization.
|
||||||
</para>
|
</para>
|
||||||
|
Reference in New Issue
Block a user