Commit aa688725 authored by Peter Eisentraut's avatar Peter Eisentraut

doc: Spell checking

parent 1264ef31
...@@ -69,7 +69,7 @@ typedef struct BackgroundWorker ...@@ -69,7 +69,7 @@ typedef struct BackgroundWorker
</para> </para>
<para> <para>
<structfield>bgw_flags</> is a bitwise-or'd bitmask indicating the <structfield>bgw_flags</> is a bitwise-or'd bit mask indicating the
capabilities that the module wants. Possible values are capabilities that the module wants. Possible values are
<literal>BGWORKER_SHMEM_ACCESS</literal> (requesting shared memory access) <literal>BGWORKER_SHMEM_ACCESS</literal> (requesting shared memory access)
and <literal>BGWORKER_BACKEND_DATABASE_CONNECTION</literal> (requesting the and <literal>BGWORKER_BACKEND_DATABASE_CONNECTION</literal> (requesting the
...@@ -114,14 +114,14 @@ typedef struct BackgroundWorker ...@@ -114,14 +114,14 @@ typedef struct BackgroundWorker
passed at registration time. <structfield>bgw_main</structfield> may be passed at registration time. <structfield>bgw_main</structfield> may be
NULL; in that case, <structfield>bgw_library_name</structfield> and NULL; in that case, <structfield>bgw_library_name</structfield> and
<structfield>bgw_function_name</structfield> will be used to determine <structfield>bgw_function_name</structfield> will be used to determine
the entrypoint. This is useful for background workers launched after the entry point. This is useful for background workers launched after
postmaster startup, where the postmaster does not have the requisite postmaster startup, where the postmaster does not have the requisite
library loaded. library loaded.
</para> </para>
<para> <para>
<structfield>bgw_library_name</structfield> is the name of a library in <structfield>bgw_library_name</structfield> is the name of a library in
which the initial entrypoint for the background worker should be sought. which the initial entry point for the background worker should be sought.
It is ignored unless <structfield>bgw_main</structfield> is NULL. It is ignored unless <structfield>bgw_main</structfield> is NULL.
But if <structfield>bgw_main</structfield> is NULL, then the named library But if <structfield>bgw_main</structfield> is NULL, then the named library
will be dynamically loaded by the worker process and will be dynamically loaded by the worker process and
...@@ -131,7 +131,7 @@ typedef struct BackgroundWorker ...@@ -131,7 +131,7 @@ typedef struct BackgroundWorker
<para> <para>
<structfield>bgw_function_name</structfield> is the name of a function in <structfield>bgw_function_name</structfield> is the name of a function in
a dynamically loaded library which should be used as the initial entrypoint a dynamically loaded library which should be used as the initial entry point
for a new background worker. It is ignored unless for a new background worker. It is ignored unless
<structfield>bgw_main</structfield> is NULL. <structfield>bgw_main</structfield> is NULL.
</para> </para>
......
...@@ -408,13 +408,13 @@ ...@@ -408,13 +408,13 @@
<entry><structfield>aggfinalextra</structfield></entry> <entry><structfield>aggfinalextra</structfield></entry>
<entry><type>bool</type></entry> <entry><type>bool</type></entry>
<entry></entry> <entry></entry>
<entry>True to pass extra dummy arguments to aggfinalfn</entry> <entry>True to pass extra dummy arguments to <structfield>aggfinalfn</structfield></entry>
</row> </row>
<row> <row>
<entry><structfield>aggmfinalextra</structfield></entry> <entry><structfield>aggmfinalextra</structfield></entry>
<entry><type>bool</type></entry> <entry><type>bool</type></entry>
<entry></entry> <entry></entry>
<entry>True to pass extra dummy arguments to aggmfinalfn</entry> <entry>True to pass extra dummy arguments to <structfield>aggmfinalfn</structfield></entry>
</row> </row>
<row> <row>
<entry><structfield>aggsortop</structfield></entry> <entry><structfield>aggsortop</structfield></entry>
...@@ -838,7 +838,7 @@ ...@@ -838,7 +838,7 @@
<entry><structfield>amopsortfamily</structfield></entry> <entry><structfield>amopsortfamily</structfield></entry>
<entry><type>oid</type></entry> <entry><type>oid</type></entry>
<entry><literal><link linkend="catalog-pg-opfamily"><structname>pg_opfamily</structname></link>.oid</literal></entry> <entry><literal><link linkend="catalog-pg-opfamily"><structname>pg_opfamily</structname></link>.oid</literal></entry>
<entry>The btree operator family this entry sorts according to, if an <entry>The B-tree operator family this entry sorts according to, if an
ordering operator; zero if a search operator</entry> ordering operator; zero if a search operator</entry>
</row> </row>
...@@ -853,7 +853,7 @@ ...@@ -853,7 +853,7 @@
<replaceable>indexed_column</> <replaceable>indexed_column</>
<replaceable>operator</> <replaceable>operator</>
<replaceable>constant</>. <replaceable>constant</>.
Obviously, such an operator must return boolean, and its left-hand input Obviously, such an operator must return <type>boolean</type>, and its left-hand input
type must match the index's column data type. type must match the index's column data type.
</para> </para>
...@@ -868,13 +868,13 @@ ...@@ -868,13 +868,13 @@
its left-hand input type must match the index's column data type. its left-hand input type must match the index's column data type.
The exact semantics of the <literal>ORDER BY</> are specified by the The exact semantics of the <literal>ORDER BY</> are specified by the
<structfield>amopsortfamily</structfield> column, which must reference <structfield>amopsortfamily</structfield> column, which must reference
a btree operator family for the operator's result type. a B-tree operator family for the operator's result type.
</para> </para>
<note> <note>
<para> <para>
At present, it's assumed that the sort order for an ordering operator At present, it's assumed that the sort order for an ordering operator
is the default for the referenced opfamily, i.e., <literal>ASC NULLS is the default for the referenced operator family, i.e., <literal>ASC NULLS
LAST</>. This might someday be relaxed by adding additional columns LAST</>. This might someday be relaxed by adding additional columns
to specify sort options explicitly. to specify sort options explicitly.
</para> </para>
...@@ -974,7 +974,7 @@ ...@@ -974,7 +974,7 @@
these match the input data type(s) of the support procedure itself, for these match the input data type(s) of the support procedure itself, for
others not. There is a notion of <quote>default</> support procedures for others not. There is a notion of <quote>default</> support procedures for
an index, which are those with <structfield>amproclefttype</> and an index, which are those with <structfield>amproclefttype</> and
<structfield>amprocrighttype</> both equal to the index opclass's <structfield>amprocrighttype</> both equal to the index operator class's
<structfield>opcintype</>. <structfield>opcintype</>.
</para> </para>
...@@ -1959,7 +1959,7 @@ ...@@ -1959,7 +1959,7 @@
<literal>d</> = default (primary key, if any), <literal>d</> = default (primary key, if any),
<literal>n</> = nothing, <literal>n</> = nothing,
<literal>f</> = all columns <literal>f</> = all columns
<literal>i</> = index with indisreplident set, or default <literal>i</> = index with <structfield>indisreplident</structfield> set, or default
</entry> </entry>
</row> </row>
...@@ -5261,7 +5261,7 @@ ...@@ -5261,7 +5261,7 @@
<entry><structfield>plugin</structfield></entry> <entry><structfield>plugin</structfield></entry>
<entry><type>name</type></entry> <entry><type>name</type></entry>
<entry></entry> <entry></entry>
<entry>The basename of the shared object containing the output plugin this logical slot is using, or null for physical slots.</entry> <entry>The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.</entry>
</row> </row>
<row> <row>
...@@ -5275,7 +5275,7 @@ ...@@ -5275,7 +5275,7 @@
<entry><structfield>datoid</structfield></entry> <entry><structfield>datoid</structfield></entry>
<entry><type>oid</type></entry> <entry><type>oid</type></entry>
<entry><literal><link linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry> <entry><literal><link linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
<entry>The oid of the database this slot is associated with, or <entry>The OID of the database this slot is associated with, or
null. Only logical slots have an associated database.</entry> null. Only logical slots have an associated database.</entry>
</row> </row>
......
...@@ -2603,7 +2603,7 @@ include_dir 'conf.d' ...@@ -2603,7 +2603,7 @@ include_dir 'conf.d'
<para> <para>
The name of a standby server for this purpose is the The name of a standby server for this purpose is the
<varname>application_name</> setting of the standby, as set in the <varname>application_name</> setting of the standby, as set in the
<varname>primary_conninfo</> of the standby's walreceiver. There is <varname>primary_conninfo</> of the standby's WAL receiver. There is
no mechanism to enforce uniqueness. In case of duplicates one of the no mechanism to enforce uniqueness. In case of duplicates one of the
matching standbys will be chosen to be the synchronous standby, though matching standbys will be chosen to be the synchronous standby, though
exactly which one is indeterminate. exactly which one is indeterminate.
......
...@@ -4487,7 +4487,7 @@ SELECT * FROM pg_attribute ...@@ -4487,7 +4487,7 @@ SELECT * FROM pg_attribute
<para> <para>
The <type>pg_lsn</type> data type can be used to store LSN (Log Sequence The <type>pg_lsn</type> data type can be used to store LSN (Log Sequence
Number) data which is a pointer to a location in the XLOG. This type is a Number) data which is a pointer to a location in the XLOG. This type is a
representation of XLogRecPtr and an internal system type of representation of <type>XLogRecPtr</type> and an internal system type of
<productname>PostgreSQL</productname>. <productname>PostgreSQL</productname>.
</para> </para>
......
...@@ -353,7 +353,7 @@ PlanForeignModify (PlannerInfo *root, ...@@ -353,7 +353,7 @@ PlanForeignModify (PlannerInfo *root,
<literal>plan</> is the <structname>ModifyTable</> plan node, which is <literal>plan</> is the <structname>ModifyTable</> plan node, which is
complete except for the <structfield>fdwPrivLists</> field. complete except for the <structfield>fdwPrivLists</> field.
<literal>resultRelation</> identifies the target foreign table by its <literal>resultRelation</> identifies the target foreign table by its
rangetable index. <literal>subplan_index</> identifies which target of range table index. <literal>subplan_index</> identifies which target of
the <structname>ModifyTable</> plan node this is, counting from zero; the <structname>ModifyTable</> plan node this is, counting from zero;
use this if you want to index into <literal>plan-&gt;plans</> or other use this if you want to index into <literal>plan-&gt;plans</> or other
substructure of the <literal>plan</> node. substructure of the <literal>plan</> node.
...@@ -430,7 +430,7 @@ ExecForeignInsert (EState *estate, ...@@ -430,7 +430,7 @@ ExecForeignInsert (EState *estate,
<literal>rinfo</> is the <structname>ResultRelInfo</> struct describing <literal>rinfo</> is the <structname>ResultRelInfo</> struct describing
the target foreign table. the target foreign table.
<literal>slot</> contains the tuple to be inserted; it will match the <literal>slot</> contains the tuple to be inserted; it will match the
rowtype definition of the foreign table. row-type definition of the foreign table.
<literal>planSlot</> contains the tuple that was generated by the <literal>planSlot</> contains the tuple that was generated by the
<structname>ModifyTable</> plan node's subplan; it differs from <structname>ModifyTable</> plan node's subplan; it differs from
<literal>slot</> in possibly containing additional <quote>junk</> <literal>slot</> in possibly containing additional <quote>junk</>
...@@ -476,7 +476,7 @@ ExecForeignUpdate (EState *estate, ...@@ -476,7 +476,7 @@ ExecForeignUpdate (EState *estate,
<literal>rinfo</> is the <structname>ResultRelInfo</> struct describing <literal>rinfo</> is the <structname>ResultRelInfo</> struct describing
the target foreign table. the target foreign table.
<literal>slot</> contains the new data for the tuple; it will match the <literal>slot</> contains the new data for the tuple; it will match the
rowtype definition of the foreign table. row-type definition of the foreign table.
<literal>planSlot</> contains the tuple that was generated by the <literal>planSlot</> contains the tuple that was generated by the
<structname>ModifyTable</> plan node's subplan; it differs from <structname>ModifyTable</> plan node's subplan; it differs from
<literal>slot</> in possibly containing additional <quote>junk</> <literal>slot</> in possibly containing additional <quote>junk</>
...@@ -576,7 +576,7 @@ IsForeignRelUpdatable (Relation rel); ...@@ -576,7 +576,7 @@ IsForeignRelUpdatable (Relation rel);
</programlisting> </programlisting>
Report which update operations the specified foreign table supports. Report which update operations the specified foreign table supports.
The return value should be a bitmask of rule event numbers indicating The return value should be a bit mask of rule event numbers indicating
which operations are supported by the foreign table, using the which operations are supported by the foreign table, using the
<literal>CmdType</> enumeration; that is, <literal>CmdType</> enumeration; that is,
<literal>(1 << CMD_UPDATE) = 4</> for <command>UPDATE</>, <literal>(1 << CMD_UPDATE) = 4</> for <command>UPDATE</>,
......
...@@ -10086,7 +10086,7 @@ table2-mapping ...@@ -10086,7 +10086,7 @@ table2-mapping
<para> <para>
<xref linkend="functions-json-op-table"> shows the operators that <xref linkend="functions-json-op-table"> shows the operators that
are available for use with the two JSON datatypes (see <xref are available for use with the two JSON data types (see <xref
linkend="datatype-json">). linkend="datatype-json">).
</para> </para>
...@@ -10162,7 +10162,7 @@ table2-mapping ...@@ -10162,7 +10162,7 @@ table2-mapping
The standard comparison operators shown in <xref The standard comparison operators shown in <xref
linkend="functions-comparison-table"> are available for linkend="functions-comparison-table"> are available for
<type>jsonb</type>, but not for <type>json</type>. They follow the <type>jsonb</type>, but not for <type>json</type>. They follow the
ordering rules for btree operations outlined at <xref ordering rules for B-tree operations outlined at <xref
linkend="json-indexing">. linkend="json-indexing">.
</para> </para>
<para> <para>
...@@ -10269,7 +10269,7 @@ table2-mapping ...@@ -10269,7 +10269,7 @@ table2-mapping
(recursively) to arrays and objects; otherwise, if there is a cast (recursively) to arrays and objects; otherwise, if there is a cast
from the type to <type>json</type>, the cast function will be used to from the type to <type>json</type>, the cast function will be used to
perform the conversion; otherwise, a JSON scalar value is produced. perform the conversion; otherwise, a JSON scalar value is produced.
For any scalar type other than a number, a boolean, or a null value, For any scalar type other than a number, a Boolean, or a null value,
the text representation will be used, properly quoted and escaped the text representation will be used, properly quoted and escaped
so that it is a valid JSON string. so that it is a valid JSON string.
</entry> </entry>
...@@ -14007,7 +14007,7 @@ AND ...@@ -14007,7 +14007,7 @@ AND
These operators compare the internal binary representation of the two These operators compare the internal binary representation of the two
rows. Two rows might have a different binary representation even rows. Two rows might have a different binary representation even
though comparisons of the two rows with the equality operator is true. though comparisons of the two rows with the equality operator is true.
The ordering of rows under these comparision operators is deterministic The ordering of rows under these comparison operators is deterministic
but not otherwise meaningful. These operators are used internally for but not otherwise meaningful. These operators are used internally for
materialized views and might be useful for other specialized purposes materialized views and might be useful for other specialized purposes
such as replication but are not intended to be generally useful for such as replication but are not intended to be generally useful for
...@@ -15461,32 +15461,32 @@ SELECT pg_type_is_visible('myschema.widget'::regtype); ...@@ -15461,32 +15461,32 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<row> <row>
<entry><literal><function>to_regclass(<parameter>rel_name</parameter>)</function></literal></entry> <entry><literal><function>to_regclass(<parameter>rel_name</parameter>)</function></literal></entry>
<entry><type>regclass</type></entry> <entry><type>regclass</type></entry>
<entry>get the oid of the named relation</entry> <entry>get the OID of the named relation</entry>
</row> </row>
<row> <row>
<entry><literal><function>to_regproc(<parameter>func_name</parameter>)</function></literal></entry> <entry><literal><function>to_regproc(<parameter>func_name</parameter>)</function></literal></entry>
<entry><type>regproc</type></entry> <entry><type>regproc</type></entry>
<entry>get the oid of the named function</entry> <entry>get the OID of the named function</entry>
</row> </row>
<row> <row>
<entry><literal><function>to_regprocedure(<parameter>func_name</parameter>)</function></literal></entry> <entry><literal><function>to_regprocedure(<parameter>func_name</parameter>)</function></literal></entry>
<entry><type>regprocedure</type></entry> <entry><type>regprocedure</type></entry>
<entry>get the oid of the named function</entry> <entry>get the OID of the named function</entry>
</row> </row>
<row> <row>
<entry><literal><function>to_regoper(<parameter>operator_name</parameter>)</function></literal></entry> <entry><literal><function>to_regoper(<parameter>operator_name</parameter>)</function></literal></entry>
<entry><type>regoper</type></entry> <entry><type>regoper</type></entry>
<entry>get the oid of the named operator</entry> <entry>get the OID of the named operator</entry>
</row> </row>
<row> <row>
<entry><literal><function>to_regoperator(<parameter>operator_name</parameter>)</function></literal></entry> <entry><literal><function>to_regoperator(<parameter>operator_name</parameter>)</function></literal></entry>
<entry><type>regoperator</type></entry> <entry><type>regoperator</type></entry>
<entry>get the oid of the named operator</entry> <entry>get the OID of the named operator</entry>
</row> </row>
<row> <row>
<entry><literal><function>to_regtype(<parameter>type_name</parameter>)</function></literal></entry> <entry><literal><function>to_regtype(<parameter>type_name</parameter>)</function></literal></entry>
<entry><type>regtype</type></entry> <entry><type>regtype</type></entry>
<entry>get the oid of the named type</entry> <entry>get the OID of the named type</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
...@@ -16619,8 +16619,8 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); ...@@ -16619,8 +16619,8 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<entry> <entry>
Creates a new physical replication slot named Creates a new physical replication slot named
<parameter>slot_name</parameter>. Streaming changes from a physical slot <parameter>slot_name</parameter>. Streaming changes from a physical slot
is only possible with the walsender protocol - see <xref is only possible with the streaming-replication protocol - see <xref
linkend="protocol-replication">. Corresponds to the walsender protocol linkend="protocol-replication">. Corresponds to the replication protocol
command <literal>CREATE_REPLICATION_SLOT ... PHYSICAL</literal>. command <literal>CREATE_REPLICATION_SLOT ... PHYSICAL</literal>.
</entry> </entry>
</row> </row>
...@@ -16636,7 +16636,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); ...@@ -16636,7 +16636,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</entry> </entry>
<entry> <entry>
Drops the physical or logical replication slot Drops the physical or logical replication slot
named <parameter>slot_name</parameter>. Same as walsender protocol named <parameter>slot_name</parameter>. Same as replication protocol
command <literal>DROP_REPLICATION_SLOT</>. command <literal>DROP_REPLICATION_SLOT</>.
</entry> </entry>
</row> </row>
......
...@@ -1894,7 +1894,7 @@ if (!triggered) ...@@ -1894,7 +1894,7 @@ if (!triggered)
might want to make adjustments to handle the period when might want to make adjustments to handle the period when
<varname>hot_standby_feedback</> feedback is not being provided. <varname>hot_standby_feedback</> feedback is not being provided.
For example, consider increasing <varname>max_standby_archive_delay</> For example, consider increasing <varname>max_standby_archive_delay</>
so that queries are not rapidly cancelled by conflicts in WAL archive so that queries are not rapidly canceled by conflicts in WAL archive
files during disconnected periods. You should also consider increasing files during disconnected periods. You should also consider increasing
<varname>max_standby_streaming_delay</> to avoid rapid cancellations <varname>max_standby_streaming_delay</> to avoid rapid cancellations
by newly-arrived streaming WAL entries after reconnection. by newly-arrived streaming WAL entries after reconnection.
......
...@@ -168,7 +168,7 @@ ambuild (Relation heapRelation, ...@@ -168,7 +168,7 @@ ambuild (Relation heapRelation,
void void
ambuildempty (Relation indexRelation); ambuildempty (Relation indexRelation);
</programlisting> </programlisting>
Build an empty index, and write it to the initialization fork (INIT_FORKNUM) Build an empty index, and write it to the initialization fork (<symbol>INIT_FORKNUM</symbol>)
of the given relation. This method is called only for unlogged tables; the of the given relation. This method is called only for unlogged tables; the
empty index written to the initialization fork will be copied over the main empty index written to the initialization fork will be copied over the main
relation fork on each server restart. relation fork on each server restart.
...@@ -278,7 +278,7 @@ amcanreturn (Relation indexRelation); ...@@ -278,7 +278,7 @@ amcanreturn (Relation indexRelation);
</programlisting> </programlisting>
Check whether the index can support <firstterm>index-only scans</> by Check whether the index can support <firstterm>index-only scans</> by
returning the indexed column values for an index entry in the form of an returning the indexed column values for an index entry in the form of an
IndexTuple. Return TRUE if so, else FALSE. If the index AM can never <structname>IndexTuple</structname>. Return TRUE if so, else FALSE. If the index AM can never
support index-only scans (an example is hash, which stores only support index-only scans (an example is hash, which stores only
the hash values not the original data), it is sufficient to set its the hash values not the original data), it is sufficient to set its
<structfield>amcanreturn</> field to zero in <structname>pg_am</>. <structfield>amcanreturn</> field to zero in <structname>pg_am</>.
......
...@@ -354,7 +354,7 @@ SELECT '"foo"'::jsonb ? 'foo'; ...@@ -354,7 +354,7 @@ SELECT '"foo"'::jsonb ? 'foo';
keys or key/value pairs occurring within a large number of keys or key/value pairs occurring within a large number of
<type>jsonb</> documents (datums). <type>jsonb</> documents (datums).
Two GIN <quote>operator classes</> are provided, offering different Two GIN <quote>operator classes</> are provided, offering different
performance and flexibility tradeoffs. performance and flexibility trade-offs.
</para> </para>
<para> <para>
The default GIN operator class for <type>jsonb</> supports queries with The default GIN operator class for <type>jsonb</> supports queries with
......
...@@ -136,7 +136,7 @@ PGconn *PQconnectdbParams(const char * const *keywords, ...@@ -136,7 +136,7 @@ PGconn *PQconnectdbParams(const char * const *keywords,
</para> </para>
<para> <para>
If any parameter is NULL or an emptry string, the corresponding If any parameter is <symbol>NULL</symbol> or an emptry string, the corresponding
environment variable (see <xref linkend="libpq-envars">) is checked. environment variable (see <xref linkend="libpq-envars">) is checked.
If the environment variable is not set either, then the indicated If the environment variable is not set either, then the indicated
built-in defaults are used. built-in defaults are used.
......
...@@ -310,7 +310,7 @@ CTRL-C ...@@ -310,7 +310,7 @@ CTRL-C
</indexterm> </indexterm>
<para> <para>
An output plugin is loaded by dynamically loading a shared library with An output plugin is loaded by dynamically loading a shared library with
the output plugin's name as the library basename. The normal library the output plugin's name as the library base name. The normal library
search path is used to locate the library. To provide the required output search path is used to locate the library. To provide the required output
plugin callbacks and to indicate that the library is actually an output plugin callbacks and to indicate that the library is actually an output
plugin it needs to provide a function named plugin it needs to provide a function named
...@@ -362,8 +362,8 @@ CREATE TABLE another_catalog_table(data text) WITH (user_catalog_table = true); ...@@ -362,8 +362,8 @@ CREATE TABLE another_catalog_table(data text) WITH (user_catalog_table = true);
various callbacks it needs to provide. various callbacks it needs to provide.
</para> </para>
<para> <para>
Concurrent transactions are decoded in commit order and only changes Concurrent transactions are decoded in commit order, and only changes
belonging to a specific transaction are decoded inbetween belonging to a specific transaction are decoded between
the <literal>begin</literal> and <literal>commit</literal> the <literal>begin</literal> and <literal>commit</literal>
callbacks. Transactions that were rolled back explicitly or implicitly callbacks. Transactions that were rolled back explicitly or implicitly
never get never get
...@@ -432,7 +432,7 @@ typedef void (*LogicalDecodeShutdownCB) ( ...@@ -432,7 +432,7 @@ typedef void (*LogicalDecodeShutdownCB) (
<title>Transaction Begin Callback</title> <title>Transaction Begin Callback</title>
<para> <para>
The required <function>begin_cb</function> callback is called whenever a The required <function>begin_cb</function> callback is called whenever a
start of a commited transaction has been decoded. Aborted transactions start of a committed transaction has been decoded. Aborted transactions
and their contents never get decoded. and their contents never get decoded.
<programlisting> <programlisting>
typedef void (*LogicalDecodeBeginCB) ( typedef void (*LogicalDecodeBeginCB) (
...@@ -441,7 +441,7 @@ typedef void (*LogicalDecodeBeginCB) ( ...@@ -441,7 +441,7 @@ typedef void (*LogicalDecodeBeginCB) (
); );
</programlisting> </programlisting>
The <parameter>txn</parameter> parameter contains meta information about The <parameter>txn</parameter> parameter contains meta information about
the transaction, like the timestamp at which it has been committed and the transaction, like the time stamp at which it has been committed and
its XID. its XID.
</para> </para>
</sect3> </sect3>
...@@ -469,7 +469,7 @@ typedef void (*LogicalDecodeCommitCB) ( ...@@ -469,7 +469,7 @@ typedef void (*LogicalDecodeCommitCB) (
individual row modification inside a transaction, may it be individual row modification inside a transaction, may it be
an <command>INSERT</command>, <command>UPDATE</command> an <command>INSERT</command>, <command>UPDATE</command>
or <command>DELETE</command>. Even if the original command modified or <command>DELETE</command>. Even if the original command modified
several rows at once the callback will be called indvidually for each several rows at once the callback will be called individually for each
row. row.
<programlisting> <programlisting>
typedef void (*LogicalDecodeChangeCB) ( typedef void (*LogicalDecodeChangeCB) (
......
...@@ -647,7 +647,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -647,7 +647,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<row> <row>
<entry><structfield>backend_xid</structfield></entry> <entry><structfield>backend_xid</structfield></entry>
<entry><type>xid</type></entry> <entry><type>xid</type></entry>
<entry>Toplevel transaction identifier of this backend, if any.</entry> <entry>Top-level transaction identifier of this backend, if any.</entry>
</row> </row>
<row> <row>
<entry><structfield>backend_xmin</structfield></entry> <entry><structfield>backend_xmin</structfield></entry>
......
...@@ -442,7 +442,7 @@ WHERE t1.unique1 &lt; 10 AND t2.unique2 &lt; 10 AND t1.hundred &lt; t2.hundred; ...@@ -442,7 +442,7 @@ WHERE t1.unique1 &lt; 10 AND t2.unique2 &lt; 10 AND t1.hundred &lt; t2.hundred;
<para> <para>
Notice that here the planner has chosen to <quote>materialize</> the inner Notice that here the planner has chosen to <quote>materialize</> the inner
relation of the join, by putting a Materialize plan node atop it. This relation of the join, by putting a Materialize plan node atop it. This
means that the <literal>t2</> indexscan will be done just once, even means that the <literal>t2</> index scan will be done just once, even
though the nested-loop join node needs to read that data ten times, once though the nested-loop join node needs to read that data ten times, once
for each row from the outer relation. The Materialize node saves the data for each row from the outer relation. The Materialize node saves the data
in memory as it's read, and then returns the data from memory on each in memory as it's read, and then returns the data from memory on each
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
<para> <para>
For security reasons, non-superusers are not allowed to see the SQL For security reasons, non-superusers are not allowed to see the SQL
text or queryid of queries executed by other users. They can see text or <structfield>queryid</structfield> of queries executed by other users. They can see
the statistics, however, if the view has been installed in their the statistics, however, if the view has been installed in their
database. database.
</para> </para>
......
...@@ -2714,7 +2714,7 @@ GET STACKED DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replacea ...@@ -2714,7 +2714,7 @@ GET STACKED DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replacea
<row> <row>
<entry><literal>PG_DATATYPE_NAME</literal></entry> <entry><literal>PG_DATATYPE_NAME</literal></entry>
<entry>text</entry> <entry>text</entry>
<entry>the name of datatype related to exception</entry> <entry>the name of data type related to exception</entry>
</row> </row>
<row> <row>
<entry><literal>MESSAGE_TEXT</literal></entry> <entry><literal>MESSAGE_TEXT</literal></entry>
......
...@@ -1302,7 +1302,7 @@ ...@@ -1302,7 +1302,7 @@
<para> <para>
To initiate streaming replication, the frontend sends the To initiate streaming replication, the frontend sends the
<literal>replication</> parameter in the startup message. A boolean value <literal>replication</> parameter in the startup message. A Boolean value
of <literal>true</> tells the backend to go into walsender mode, wherein a of <literal>true</> tells the backend to go into walsender mode, wherein a
small set of replication commands can be issued instead of SQL statements. Only small set of replication commands can be issued instead of SQL statements. Only
the simple query protocol can be used in walsender mode. the simple query protocol can be used in walsender mode.
......
...@@ -650,7 +650,7 @@ FROM (VALUES ('anne', 'smith'), ('bob', 'jones'), ('joe', 'blow')) ...@@ -650,7 +650,7 @@ FROM (VALUES ('anne', 'smith'), ('bob', 'jones'), ('joe', 'blow'))
Table functions may also be combined using the <literal>ROWS FROM</> Table functions may also be combined using the <literal>ROWS FROM</>
syntax, with the results returned in parallel columns; the number of syntax, with the results returned in parallel columns; the number of
result rows in this case is that of the largest function result, with result rows in this case is that of the largest function result, with
smaller results padded with NULLs to match. smaller results padded with null values to match.
</para> </para>
<synopsis> <synopsis>
......
...@@ -427,7 +427,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows ...@@ -427,7 +427,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
on master and the time on the current standby. Delays on master and the time on the current standby. Delays
in transfer because of networks or cascading replication configurations in transfer because of networks or cascading replication configurations
may reduce the actual wait time significantly. If the system may reduce the actual wait time significantly. If the system
clocks on master and standby are not synchronised, this may lead to clocks on master and standby are not synchronized, this may lead to
recovery applying records earlier than expected; but that is not a recovery applying records earlier than expected; but that is not a
major issue because useful settings of the parameter are much larger major issue because useful settings of the parameter are much larger
than typical time deviations between servers. Be careful to allow for than typical time deviations between servers. Be careful to allow for
...@@ -445,7 +445,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows ...@@ -445,7 +445,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</para> </para>
<para> <para>
This parameter is intended for use with streaming replication deployments, This parameter is intended for use with streaming replication deployments,
however, if the parameter is specified it will be honoured in all cases. however, if the parameter is specified it will be honored in all cases.
Synchronous replication is not affected by this setting because there is Synchronous replication is not affected by this setting because there is
not yet any setting to request synchronous apply of transaction commits. not yet any setting to request synchronous apply of transaction commits.
<varname>hot_standby_feedback</> will be delayed by use of this feature <varname>hot_standby_feedback</> will be delayed by use of this feature
......
...@@ -207,7 +207,7 @@ CREATE AGGREGATE <replaceable class="PARAMETER">name</replaceable> ( ...@@ -207,7 +207,7 @@ CREATE AGGREGATE <replaceable class="PARAMETER">name</replaceable> (
arguments that are evaluated only once per aggregation rather than once arguments that are evaluated only once per aggregation rather than once
per input row. Hypothetical-set aggregates are a subclass of ordered-set per input row. Hypothetical-set aggregates are a subclass of ordered-set
aggregates in which some of the direct arguments are required to match, aggregates in which some of the direct arguments are required to match,
in number and datatypes, the aggregated argument columns. This allows in number and data types, the aggregated argument columns. This allows
the values of those direct arguments to be added to the collection of the values of those direct arguments to be added to the collection of
aggregate-input rows as an additional <quote>hypothetical</> row. aggregate-input rows as an additional <quote>hypothetical</> row.
</para> </para>
......
...@@ -358,7 +358,7 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello; ...@@ -358,7 +358,7 @@ CREATE VIEW vista AS SELECT text 'Hello World' AS hello;
<para> <para>
If an automatically updatable view is marked with the If an automatically updatable view is marked with the
<literal>security_barrier</> property then all the view's <literal>WHERE</> <literal>security_barrier</> property then all the view's <literal>WHERE</>
conditions (and any conditions using operators which are marked as LEAKPROOF) conditions (and any conditions using operators which are marked as <literal>LEAKPROOF</literal>)
will always be evaluated before any conditions that a user of the view has will always be evaluated before any conditions that a user of the view has
added. See <xref linkend="rules-privileges"> for full details. Note that, added. See <xref linkend="rules-privileges"> for full details. Note that,
due to this, rows which are not ultimately returned (because they do not due to this, rows which are not ultimately returned (because they do not
......
...@@ -183,7 +183,7 @@ PostgreSQL documentation ...@@ -183,7 +183,7 @@ PostgreSQL documentation
<para> <para>
The following command-line options control the location and format of the The following command-line options control the location and format of the
output and other replication behaviour: output and other replication behavior:
<variablelist> <variablelist>
......
...@@ -111,13 +111,13 @@ ...@@ -111,13 +111,13 @@
<listitem> <listitem>
<para> <para>
Tighten checks for multi-dimensional <link Tighten checks for multidimensional <link
linkend="arrays">array</link> input (Bruce Momjian) linkend="arrays">array</link> input (Bruce Momjian)
</para> </para>
<para> <para>
Previously an input array string that started with a single-element Previously an input array string that started with a single-element
array dimension could later contain multi-dimensional segments, array dimension could later contain multidimensional segments,
e.g. <literal>'{{1}, {2,3}}'::int[]</>. e.g. <literal>'{{1}, {2,3}}'::int[]</>.
</para> </para>
</listitem> </listitem>
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
<listitem> <listitem>
<para> <para>
Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN
ANALYZE</></link>'s "total runtime" output to "execution time" ANALYZE</></link>'s <quote>total runtime</quote> output to <quote>execution time</quote>
(Tom Lane) (Tom Lane)
</para> </para>
...@@ -565,7 +565,7 @@ ...@@ -565,7 +565,7 @@
<listitem> <listitem>
<para> <para>
Improve speed of accesessing many different <link Improve speed of accessing many different <link
linkend="SQL-CREATESEQUENCE">sequences</link> in the same session linkend="SQL-CREATESEQUENCE">sequences</link> in the same session
(David Rowley) (David Rowley)
</para> </para>
...@@ -775,7 +775,7 @@ ...@@ -775,7 +775,7 @@
<listitem> <listitem>
<para> <para>
Allow printf-style space padding to be specified in <link Allow <function>printf</function>-style space padding to be specified in <link
linkend="guc-log-line-prefix"><varname>log_line_prefix</></link> linkend="guc-log-line-prefix"><varname>log_line_prefix</></link>
(David Rowley) (David Rowley)
</para> </para>
...@@ -1098,7 +1098,7 @@ ...@@ -1098,7 +1098,7 @@
<para> <para>
Previously only unquoted matching strings would be imported Previously only unquoted matching strings would be imported
as NULLs. as null values.
</para> </para>
</listitem> </listitem>
...@@ -1370,23 +1370,23 @@ ...@@ -1370,23 +1370,23 @@
<listitem> <listitem>
<para> <para>
Add structured (non-text) data type (<link Add structured (non-text) data type (<link
linkend="datatype-json"><type>JSONB</></link>) for storing linkend="datatype-json"><type>jsonb</></link>) for storing
<type>JSON</> data (Oleg Bartunov, Teodor Sigaev, Alexander JSON data (Oleg Bartunov, Teodor Sigaev, Alexander
Korotkov, Peter Geoghegan, and Andrew Dunstan) Korotkov, Peter Geoghegan, and Andrew Dunstan)
</para> </para>
<para> <para>
This allows for faster access to values in the <type>JSON</> This allows for faster access to values in the JSON
document and faster and more useful indexing of <type>JSON</>. document and faster and more useful indexing of JSON.
Scalar values in <type>JSONB</> documents are typed as appropriate Scalar values in <type>jsonb</> documents are typed as appropriate
scalar SQL types. scalar SQL types.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <type>JSON</> functions to allow for the construction Add new JSON functions to allow for the construction
of arbitrarily complex json trees (Andrew Dunstan, Laurence Rowe) of arbitrarily complex JSON trees (Andrew Dunstan, Laurence Rowe)
</para> </para>
<para> <para>
...@@ -1402,7 +1402,7 @@ ...@@ -1402,7 +1402,7 @@
<para> <para>
Add <link Add <link
linkend="functions-json-processing-table"><function>json_typeof()</></link> linkend="functions-json-processing-table"><function>json_typeof()</></link>
to return the data type of a <type>JSON</> value (Andrew Tipton) to return the data type of a <type>json</> value (Andrew Tipton)
</para> </para>
</listitem> </listitem>
...@@ -1782,14 +1782,14 @@ ...@@ -1782,14 +1782,14 @@
<listitem> <listitem>
<para> <para>
Allow <function>sizeof()</> in <link linkend="ecpg">ecpg</link> Allow <function>sizeof()</> in <link linkend="ecpg">ECPG</link>
C array definitions (Michael Meskes) C array definitions (Michael Meskes)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <link linkend="ecpg">ecpg</link> properly handle nesting Have <link linkend="ecpg">ECPG</link> properly handle nesting
requirements in C and <acronym>SQL</> mode for C-style comments requirements in C and <acronym>SQL</> mode for C-style comments
(Michael Meskes) (Michael Meskes)
</para> </para>
...@@ -1871,12 +1871,12 @@ ...@@ -1871,12 +1871,12 @@
<listitem> <listitem>
<para> <para>
Have <application>psql</> <command>\d+</> output an Have <application>psql</> <command>\d+</> output an
<literal>OID</> line only if an oid column exists in a table <literal>OID</> line only if an <literal>oid</literal> column exists in a table
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
Previously, the presence or absence of an oid column was always Previously, the presence or absence of an <literal>oid</literal> column was always
reported. reported.
</para> </para>
</listitem> </listitem>
...@@ -2251,7 +2251,7 @@ ...@@ -2251,7 +2251,7 @@
<listitem> <listitem>
<para> <para>
Avoid most uses of dlltool in <productname>Cygwin</> and Avoid most uses of <command>dlltool</command> in <productname>Cygwin</> and
<productname>Mingw</> builds (Marco Atzeri, Hiroshi Inoue) <productname>Mingw</> builds (Marco Atzeri, Hiroshi Inoue)
</para> </para>
</listitem> </listitem>
...@@ -2294,7 +2294,7 @@ ...@@ -2294,7 +2294,7 @@
<para> <para>
This allows the creation of version 4 <acronym>UUID</>s without This allows the creation of version 4 <acronym>UUID</>s without
requiring the installation of uuid-ossp. requiring the installation of <literal>uuid-ossp</literal>.
</para> </para>
</listitem> </listitem>
...@@ -2317,11 +2317,11 @@ ...@@ -2317,11 +2317,11 @@
<listitem> <listitem>
<para> <para>
Have <link linkend="pgstattuple"><application>pgstattuple</></link> Have <link linkend="pgstattuple"><application>pgstattuple</></link>
functions use regclass-type arguments (Satoshi Nagayasu) functions use <type>regclass</type>-type arguments (Satoshi Nagayasu)
</para> </para>
<para> <para>
While text-type arguments are still supported, they will be While <type>text</type>-type arguments are still supported, they will be
removed in a later major release. removed in a later major release.
</para> </para>
</listitem> </listitem>
......
...@@ -1338,7 +1338,7 @@ export PG_OOM_ADJUST_VALUE=0 ...@@ -1338,7 +1338,7 @@ export PG_OOM_ADJUST_VALUE=0
setting <varname>vm.nr_hugepages</varname>. To estimate the number of setting <varname>vm.nr_hugepages</varname>. To estimate the number of
necessary huge pages start <productname>PostgreSQL</productname> without necessary huge pages start <productname>PostgreSQL</productname> without
huge pages enabled and check the <varname>VmPeak</varname> value from the huge pages enabled and check the <varname>VmPeak</varname> value from the
proc filesystem: proc file system:
<programlisting> <programlisting>
$ <userinput>head -1 /path/to/data/directory/postmaster.pid</userinput> $ <userinput>head -1 /path/to/data/directory/postmaster.pid</userinput>
4170 4170
......
...@@ -1179,7 +1179,7 @@ SPIPlanPtr SPI_prepare_params(const char * <parameter>command</parameter>, ...@@ -1179,7 +1179,7 @@ SPIPlanPtr SPI_prepare_params(const char * <parameter>command</parameter>,
<term><literal>void * <parameter>parserSetupArg</parameter></literal></term> <term><literal>void * <parameter>parserSetupArg</parameter></literal></term>
<listitem> <listitem>
<para> <para>
passthrough argument for <parameter>parserSetup</parameter> pass-through argument for <parameter>parserSetup</parameter>
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -217,8 +217,8 @@ CREATE AGGREGATE sum (complex) ...@@ -217,8 +217,8 @@ CREATE AGGREGATE sum (complex)
<para> <para>
The forward transition function for moving-aggregate mode is not allowed The forward transition function for moving-aggregate mode is not allowed
to return NULL as the new state value. If the inverse transition to return null as the new state value. If the inverse transition
function returns NULL, this is taken as an indication that the inverse function returns null, this is taken as an indication that the inverse
function cannot reverse the state calculation for this particular input, function cannot reverse the state calculation for this particular input,
and so the aggregate calculation will be redone from scratch for the and so the aggregate calculation will be redone from scratch for the
current frame starting position. This convention allows moving-aggregate current frame starting position. This convention allows moving-aggregate
...@@ -352,7 +352,7 @@ SELECT attrelid::regclass, array_accum(atttypid::regtype) ...@@ -352,7 +352,7 @@ SELECT attrelid::regclass, array_accum(atttypid::regtype)
no SQL-level equivalent for it. To address this case, it is possible to no SQL-level equivalent for it. To address this case, it is possible to
declare the final function as taking extra <quote>dummy</> arguments declare the final function as taking extra <quote>dummy</> arguments
that match the input arguments of the aggregate. Such dummy arguments that match the input arguments of the aggregate. Such dummy arguments
are always passed as NULLs since no specific value is available when the are always passed as null values since no specific value is available when the
final function is called. Their only use is to allow a polymorphic final function is called. Their only use is to allow a polymorphic
final function's result type to be connected to the aggregate's input final function's result type to be connected to the aggregate's input
type(s). For example, the definition of the built-in type(s). For example, the definition of the built-in
...@@ -484,7 +484,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households; ...@@ -484,7 +484,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
While normal aggregates can often be implemented with support While normal aggregates can often be implemented with support
functions written in <application>PL/pgSQL</application> or another functions written in <application>PL/pgSQL</application> or another
PL language, ordered-set aggregates generally have to be written in PL language, ordered-set aggregates generally have to be written in
C, since their state values aren't definable as any SQL datatype. C, since their state values aren't definable as any SQL data type.
(In the above example, notice that the state value is declared as (In the above example, notice that the state value is declared as
type <type>internal</> &mdash; this is typical.) type <type>internal</> &mdash; this is typical.)
</para> </para>
...@@ -496,7 +496,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households; ...@@ -496,7 +496,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
same definition as for normal aggregates, but note that the direct same definition as for normal aggregates, but note that the direct
arguments (if any) are not provided. The final function receives arguments (if any) are not provided. The final function receives
the last state value, the values of the direct arguments if any, the last state value, the values of the direct arguments if any,
and (if <literal>finalfunc_extra</> is specified) NULL values and (if <literal>finalfunc_extra</> is specified) null values
corresponding to the aggregated input(s). As with normal corresponding to the aggregated input(s). As with normal
aggregates, <literal>finalfunc_extra</> is only really useful if the aggregates, <literal>finalfunc_extra</> is only really useful if the
aggregate is polymorphic; then the extra dummy argument(s) are needed aggregate is polymorphic; then the extra dummy argument(s) are needed
......
...@@ -568,7 +568,7 @@ ...@@ -568,7 +568,7 @@
<row> <row>
<entry><function>consistent</></entry> <entry><function>consistent</></entry>
<entry> <entry>
determine whether value matches query condition (boolean variant) determine whether value matches query condition (Boolean variant)
(optional if support function 6 is present) (optional if support function 6 is present)
</entry> </entry>
<entry>4</entry> <entry>4</entry>
......
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
</entry> </entry>
<entry> <entry>
<para> <para>
Like <function>xpath_nodeset(document, query, toptag, itemtag)</> but result omits toptag. Like <function>xpath_nodeset(document, query, toptag, itemtag)</> but result omits <literal>toptag</literal>.
</para> </para>
</entry> </entry>
</row> </row>
...@@ -460,7 +460,7 @@ xslt_process(text document, text stylesheet, text paramlist) returns text ...@@ -460,7 +460,7 @@ xslt_process(text document, text stylesheet, text paramlist) returns text
<para> <para>
Development of this module was sponsored by Torchbox Ltd. (www.torchbox.com). Development of this module was sponsored by Torchbox Ltd. (www.torchbox.com).
It has the same BSD licence as PostgreSQL. It has the same BSD license as PostgreSQL.
</para> </para>
</sect2> </sect2>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment