Commit 0431a787 authored by Michael Paquier's avatar Michael Paquier

Doc: Improve wording of multiple places in documentation

This has been found during its translation.

Author: Liudmila Mantrova
Discussion: https://postgr.es/m/CAEkD-mDJHV3bhgezu3MUafJLoAKsOOT86+wHukKU8_NeiJYhLQ@mail.gmail.com
Backpatch-through: 12
parent e136a0d8
...@@ -3017,9 +3017,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l ...@@ -3017,9 +3017,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
A <command>DROP</command> of the referenced object will result in A <command>DROP</command> of the referenced object will result in
automatically dropping the dependent object automatically dropping the dependent object
whether <literal>CASCADE</literal> is specified or not. If the whether <literal>CASCADE</literal> is specified or not. If the
dependent object is reached due to a dependency on some other object, dependent object has to be dropped due to a dependency on some other
the drop is converted to a drop of the referenced object, so object being removed, its drop is converted to a drop of the referenced
that <literal>NORMAL</literal> and <literal>AUTO</literal> object, so that <literal>NORMAL</literal> and <literal>AUTO</literal>
dependencies of the dependent object behave much like they were dependencies of the dependent object behave much like they were
dependencies of the referenced object. dependencies of the referenced object.
Example: a view's <literal>ON SELECT</literal> rule is made Example: a view's <literal>ON SELECT</literal> rule is made
...@@ -10967,7 +10967,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx ...@@ -10967,7 +10967,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<para> <para>
<structname>pg_stats_ext</structname> is also designed to present the <structname>pg_stats_ext</structname> is also designed to present the
information in a more readable format than the underlying catalog information in a more readable format than the underlying catalogs
&mdash; at the cost that its schema must be extended whenever new types &mdash; at the cost that its schema must be extended whenever new types
of extended statistics are added to <structname>pg_statistic_ext</structname>. of extended statistics are added to <structname>pg_statistic_ext</structname>.
</para> </para>
...@@ -11024,7 +11024,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx ...@@ -11024,7 +11024,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<entry><structfield>attnames</structfield></entry> <entry><structfield>attnames</structfield></entry>
<entry><type>name[]</type></entry> <entry><type>name[]</type></entry>
<entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attname</literal></entry> <entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attname</literal></entry>
<entry>Names of the column the extended statistics is defined on</entry> <entry>Names of the columns the extended statistics is defined on</entry>
</row> </row>
<row> <row>
...@@ -11038,9 +11038,9 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx ...@@ -11038,9 +11038,9 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<entry><structfield>n_distinct</structfield></entry> <entry><structfield>n_distinct</structfield></entry>
<entry><type>pg_ndistinct</type></entry> <entry><type>pg_ndistinct</type></entry>
<entry></entry> <entry></entry>
<entry>N-distinct counts for combinations of columns. If greater than <entry>N-distinct counts for combinations of column values. If greater
zero, the estimated number of distinct values in the combination. If than zero, the estimated number of distinct values in the combination.
less than zero, the negative of the number of distinct values divided If less than zero, the negative of the number of distinct values divided
by the number of rows. by the number of rows.
(The negated form is used when <command>ANALYZE</command> believes that (The negated form is used when <command>ANALYZE</command> believes that
the number of distinct values is likely to increase as the table grows; the number of distinct values is likely to increase as the table grows;
...@@ -11063,8 +11063,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx ...@@ -11063,8 +11063,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<entry><type>anyarray</type></entry> <entry><type>anyarray</type></entry>
<entry></entry> <entry></entry>
<entry> <entry>
A list of the most common combinations in the columns. (Null if A list of the most common combinations of values in the columns.
no values seem to be more common than any others.) (Null if no combinations seem to be more common than any others.)
</entry> </entry>
</row> </row>
......
...@@ -196,7 +196,8 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable ...@@ -196,7 +196,8 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable
</para> </para>
<para> <para>
Note that the only supported <xref linkend="auth-methods"/> for use Note that the only supported
<link linkend="auth-methods">authentication methods</link> for use
with <acronym>GSSAPI</acronym> encryption with <acronym>GSSAPI</acronym> encryption
are <literal>gss</literal>, <literal>reject</literal>, are <literal>gss</literal>, <literal>reject</literal>,
and <literal>trust</literal>. and <literal>trust</literal>.
...@@ -489,7 +490,7 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable ...@@ -489,7 +490,7 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable
<listitem> <listitem>
<para> <para>
Use GSSAPI to authenticate the user. This is only Use GSSAPI to authenticate the user. This is only
available for TCP/IP connections . See <xref available for TCP/IP connections. See <xref
linkend="gssapi-auth"/> for details. It can be used in conjunction linkend="gssapi-auth"/> for details. It can be used in conjunction
with GSSAPI encryption. with GSSAPI encryption.
</para> </para>
...@@ -610,8 +611,8 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable ...@@ -610,8 +611,8 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceable
<literal>verify-full</literal> additionally enforces that the <literal>verify-full</literal> additionally enforces that the
<literal>cn</literal> (Common Name) in the certificate matches <literal>cn</literal> (Common Name) in the certificate matches
the username or an applicable mapping. the username or an applicable mapping.
This behavior is similar to the cert authentication method This behavior is similar to the <literal>cert</literal> authentication
(see <xref linkend="auth-cert"/> ) but enables pairing method (see <xref linkend="auth-cert"/>) but enables pairing
the verification of client certificates with any authentication the verification of client certificates with any authentication
method that supports <literal>hostssl</literal> entries. method that supports <literal>hostssl</literal> entries.
</para> </para>
......
...@@ -3146,29 +3146,29 @@ include_dir 'conf.d' ...@@ -3146,29 +3146,29 @@ include_dir 'conf.d'
</para> </para>
<para> <para>
To start the server in standby mode create file called To start the server in standby mode, create a file called
<filename>standby.signal</filename><indexterm><primary>standby.signal</primary></indexterm> <filename>standby.signal</filename><indexterm><primary>standby.signal</primary></indexterm>
in the data directory. The server will enter recovery and will not stop in the data directory. The server will enter recovery and will not stop
recovery when the end of archived WAL is reached, but will keep trying to recovery when the end of archived WAL is reached, but will keep trying to
continue recovery by connecting to the sending server as specified by the continue recovery by connecting to the sending server as specified by the
<varname>primary_conninfo</varname> setting and/or by fetching new WAL <varname>primary_conninfo</varname> setting and/or by fetching new WAL
segments using <varname>restore_command</varname>. In this mode, you may segments using <varname>restore_command</varname>. In this mode, you can
use parameters in both <xref use parameters in both <xref
linkend="runtime-config-wal-archive-recovery"/> and <xref linkend="runtime-config-wal-archive-recovery"/> and <xref
linkend="runtime-config-replication-standby"/> sections. Parameters from linkend="runtime-config-replication-standby"/>. Parameters from
<xref linkend="runtime-config-wal-recovery-target"/> will not be used. <xref linkend="runtime-config-wal-recovery-target"/> will not be used.
</para> </para>
<para> <para>
To start the server in targeted recovery create a file called To start the server in targeted recovery mode, create a file called
<filename>recovery.signal</filename><indexterm><primary>recovery.signal</primary></indexterm> <filename>recovery.signal</filename><indexterm><primary>recovery.signal</primary></indexterm>
in the data directory. If both <filename>standby.signal</filename> and in the data directory. If both <filename>standby.signal</filename> and
<filename>recovery.signal</filename> files are created, standby mode <filename>recovery.signal</filename> files are created, standby mode
takes precedence. Targeted recovery mode will end when end of archived takes precedence. Targeted recovery mode ends when the archived WAL is
WAL is reached, or when <varname>recovery_target</varname> is reached. fully replayed, or when <varname>recovery_target</varname> is reached.
In this mode you may use parameters from both <xref In this mode, you can use parameters from both <xref
linkend="runtime-config-wal-archive-recovery"/> and <xref linkend="runtime-config-wal-archive-recovery"/> and <xref
linkend="runtime-config-wal-recovery-target"/> sections. Parameters from <xref linkend="runtime-config-wal-recovery-target"/>. Parameters from <xref
linkend="runtime-config-replication-standby"/> will not be used. linkend="runtime-config-replication-standby"/> will not be used.
</para> </para>
...@@ -8032,8 +8032,9 @@ SET XML OPTION { DOCUMENT | CONTENT }; ...@@ -8032,8 +8032,9 @@ SET XML OPTION { DOCUMENT | CONTENT };
given decimal precision. The precision used is the standard number of given decimal precision. The precision used is the standard number of
digits for the type (<literal>FLT_DIG</literal> digits for the type (<literal>FLT_DIG</literal>
or <literal>DBL_DIG</literal> as appropriate) reduced according to the or <literal>DBL_DIG</literal> as appropriate) reduced according to the
value of this parameter. (For example, specifying -1 will cause float4 value of this parameter. (For example, specifying -1 will cause
values to be output rounded to 5 significant digits, and float8 values <type>float4</type> values to be output rounded to 5 significant
digits, and <type>float8</type> values
rounded to 14 digits.) This format is slower and does not preserve all rounded to 14 digits.) This format is slower and does not preserve all
the bits of the binary float value, but may be more human-readable. the bits of the binary float value, but may be more human-readable.
</para> </para>
...@@ -9201,10 +9202,10 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' ...@@ -9201,10 +9202,10 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</term> </term>
<listitem> <listitem>
<para> <para>
Reports the name of the SSL library that this PostgreSQL server was Reports the name of the SSL library that this
built with (even if SSL is not currently configured or in use on this <productname>PostgreSQL</productname> server was built with (even if
instance), for example <literal>OpenSSL</literal>, or an empty string SSL is not currently configured or in use on this instance), for
if none. example <literal>OpenSSL</literal>, or an empty string if none.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -312,14 +312,14 @@ current=testdb1 (should be testdb1) ...@@ -312,14 +312,14 @@ current=testdb1 (should be testdb1)
</para> </para>
<para> <para>
The third option is to declare a sql identifier linked to The third option is to declare a SQL identifier linked to
the connection, for example: the connection, for example:
<programlisting> <programlisting>
EXEC SQL AT <replaceable>connection-name</replaceable> DECLARE <replaceable>statement-name</replaceable> STATEMENT; EXEC SQL AT <replaceable>connection-name</replaceable> DECLARE <replaceable>statement-name</replaceable> STATEMENT;
EXEC SQL PREPARE <replaceable>statement-name</replaceable> FROM :<replaceable>dyn-string</replaceable>; EXEC SQL PREPARE <replaceable>statement-name</replaceable> FROM :<replaceable>dyn-string</replaceable>;
</programlisting> </programlisting>
Once you link a sql identifier to a connection, you execute a dynamic SQL Once you link a SQL identifier to a connection, execute dynamic SQL
without AT clause. statements using this identifier without the <literal>AT</literal> clause.
</para> </para>
</sect2> </sect2>
...@@ -1209,8 +1209,8 @@ EXEC SQL END DECLARE SECTION; ...@@ -1209,8 +1209,8 @@ EXEC SQL END DECLARE SECTION;
<title id="ecpg-type-bytea">bytea</title> <title id="ecpg-type-bytea">bytea</title>
<para> <para>
The handling of the <type>bytea</type> type is also similar to The handling of the <type>bytea</type> type is similar to
the <type>VARCHAR</type>. The definition on an array of type that of <type>VARCHAR</type>. The definition on an array of type
<type>bytea</type> is converted into a named struct for every <type>bytea</type> is converted into a named struct for every
variable. A declaration like: variable. A declaration like:
<programlisting> <programlisting>
...@@ -1221,8 +1221,8 @@ bytea var[180]; ...@@ -1221,8 +1221,8 @@ bytea var[180];
struct bytea_var { int len; char arr[180]; } var; struct bytea_var { int len; char arr[180]; } var;
</programlisting> </programlisting>
The member <structfield>arr</structfield> hosts binary format The member <structfield>arr</structfield> hosts binary format
data. It also can handle even <literal>'\0'</literal> as part of data. It can also handle <literal>'\0'</literal> as part of
data unlike <type>VARCHAR</type>. data, unlike <type>VARCHAR</type>.
The data is converted from/to hex format and sent/received by The data is converted from/to hex format and sent/received by
ecpglib. ecpglib.
</para> </para>
...@@ -6810,7 +6810,7 @@ EXEC SQL DECLARE cur1 CURSOR FOR stmt1; ...@@ -6810,7 +6810,7 @@ EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
<refentry id="ecpg-sql-declare-statement"> <refentry id="ecpg-sql-declare-statement">
<refnamediv> <refnamediv>
<refname>DECLARE STATEMENT</refname> <refname>DECLARE STATEMENT</refname>
<refpurpose>declares SQL statement identifier associated with connection</refpurpose> <refpurpose>declares a SQL statement identifier associated with connection</refpurpose>
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
...@@ -6823,12 +6823,13 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6823,12 +6823,13 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<title>Description</title> <title>Description</title>
<para> <para>
<command>DECLARE STATEMENT</command> declares SQL statement identifier. <command>DECLARE STATEMENT</command> declares a SQL statement identifier
SQL statement identifier is associated with connection. to be associated with connection.
</para> </para>
<para> <para>
<command>DECLARE CURSOR</command> with a SQL statement identifier can be written before PREPARE. <command>DECLARE CURSOR</command> with an SQL statement identifier
can be written before <command>PREPARE</command>.
</para> </para>
</refsect1> </refsect1>
...@@ -6843,7 +6844,8 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6843,7 +6844,8 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
A database connection name established by the <command>CONNECT</command> command. A database connection name established by the <command>CONNECT</command> command.
</para> </para>
<para> <para>
If AT clause is omitted, an SQL statement identifier is associated with the DEFAULT connection. If the <literal>AT</literal> clause is omitted, the SQL statement
identifier is associated with the <literal>DEFAULT</literal> connection.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -6854,7 +6856,8 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6854,7 +6856,8 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<term><replaceable class="parameter">statement_name</replaceable></term> <term><replaceable class="parameter">statement_name</replaceable></term>
<listitem> <listitem>
<para> <para>
The name of a SQL statement identifier, either as an SQL identifier or a host variable. The name of the SQL statement identifier, either as an SQL identifier
or a host variable.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -6864,9 +6867,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6864,9 +6867,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<refsect1> <refsect1>
<title>Notes</title> <title>Notes</title>
<para> <para>
AT clause can be used at other dynamic SQL statements. The following table The <literal>AT</literal> clause can be used with both
gives the connected database when AT clause is used at DECLARE STATEMENT <command>DECLARE STATEMENT</command> and other dynamic SQL statements.
and other dynamic statements. The following table illustrates how it affects the selected database
connection.
</para> </para>
<table tocentry="1" id="ecpg-declare-statement-table"> <table tocentry="1" id="ecpg-declare-statement-table">
<title>Scenario</title> <title>Scenario</title>
...@@ -6874,16 +6878,16 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6874,16 +6878,16 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
<thead> <thead>
<row> <row>
<entry> <entry>
Using Scenario Usage Scenario
</entry> </entry>
<entry> <entry>
Declare Statement DECLARE STATEMENT
</entry> </entry>
<entry> <entry>
Other Dynamic Statements Other Dynamic Statements
</entry> </entry>
<entry> <entry>
Executed Database Target Database
</entry> </entry>
</row> </row>
</thead> </thead>
...@@ -6893,10 +6897,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6893,10 +6897,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
1 1
</entry> </entry>
<entry> <entry>
Without AT clause Without <literal>AT</literal>
</entry> </entry>
<entry> <entry>
Without AT clause Without <literal>AT</literal>
</entry> </entry>
<entry> <entry>
Default connection Default connection
...@@ -6907,10 +6911,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6907,10 +6911,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
2 2
</entry> </entry>
<entry> <entry>
Using AT clause connecting at con1 With <literal>AT</literal> that connects to <literal>con1</literal>
</entry> </entry>
<entry> <entry>
Without AT clause Without <literal>AT</literal>
</entry> </entry>
<entry> <entry>
con1 con1
...@@ -6921,10 +6925,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6921,10 +6925,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
3 3
</entry> </entry>
<entry> <entry>
Using AT clause connecting at con1 With <literal>AT</literal> that connects to <literal>con1</literal>
</entry> </entry>
<entry> <entry>
Using AT clause connecting at con2 With <literal>AT</literal> that connects to <literal>con2</literal>
</entry> </entry>
<entry> <entry>
con1 con1
...@@ -6935,10 +6939,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6935,10 +6939,10 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
4 4
</entry> </entry>
<entry> <entry>
Without AT clause Without <literal>AT</literal>
</entry> </entry>
<entry> <entry>
Using AT clause connecting at con2 With <literal>AT</literal> that connects to <literal>con2</literal>
</entry> </entry>
<entry> <entry>
con2 con2
...@@ -6948,7 +6952,7 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC ...@@ -6948,7 +6952,7 @@ EXEC SQL [ AT <replaceable class="parameter">connection_name</replaceable> ] DEC
</tgroup> </tgroup>
</table> </table>
<para> <para>
In scenario 4, DECLARE STATEMENT will be ignored. In scenario 4, <command>DECLARE STATEMENT</command> will be ignored.
</para> </para>
</refsect1> </refsect1>
......
...@@ -5620,13 +5620,13 @@ PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity); ...@@ -5620,13 +5620,13 @@ PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);
returning the connection's previous setting. returning the connection's previous setting.
In <firstterm>TERSE</firstterm> mode, returned messages include In <firstterm>TERSE</firstterm> mode, returned messages include
severity, primary text, and position only; this will normally fit on a severity, primary text, and position only; this will normally fit on a
single line. The default mode produces messages that include the above single line. The <firstterm>DEFAULT</firstterm> mode produces messages
plus any detail, hint, or context fields (these might span multiple that include the above plus any detail, hint, or context fields (these
lines). The <firstterm>VERBOSE</firstterm> mode includes all available might span multiple lines). The <firstterm>VERBOSE</firstterm> mode
fields. The <firstterm>SQLSTATE</firstterm> mode includes only the includes all available fields. The <firstterm>SQLSTATE</firstterm>
error severity and the <symbol>SQLSTATE</symbol> error code, if one is mode includes only the error severity and the <symbol>SQLSTATE</symbol>
available (if not, the output is like <firstterm>TERSE</firstterm> error code, if one is available (if not, the output is like
mode). <firstterm>TERSE</firstterm> mode).
</para> </para>
<para> <para>
......
...@@ -871,7 +871,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu ...@@ -871,7 +871,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
<xref linkend="sql-reindex"/> can be used safely and easily in all cases. <xref linkend="sql-reindex"/> can be used safely and easily in all cases.
This command requires an <literal>ACCESS EXCLUSIVE</literal> lock by This command requires an <literal>ACCESS EXCLUSIVE</literal> lock by
default, hence it is often preferable to execute it with its default, hence it is often preferable to execute it with its
<literal>CONCURRENTLY</literal> option which requires only a <literal>CONCURRENTLY</literal> option, which requires only a
<literal>SHARE UPDATE EXCLUSIVE</literal> lock. <literal>SHARE UPDATE EXCLUSIVE</literal> lock.
</para> </para>
</sect1> </sect1>
......
...@@ -681,8 +681,8 @@ EXPLAIN (ANALYZE, TIMING OFF) SELECT * FROM t WHERE a = 1 AND b = 10; ...@@ -681,8 +681,8 @@ EXPLAIN (ANALYZE, TIMING OFF) SELECT * FROM t WHERE a = 1 AND b = 10;
</programlisting> </programlisting>
Secondly, <acronym>MCV</acronym> lists handle a wider range of clause types, Secondly, <acronym>MCV</acronym> lists handle a wider range of clause types,
not just equality clauses like functional dependencies. See for example the not just equality clauses like functional dependencies. For example,
example range query, presented earlier: consider the following range query for the same table:
<programlisting> <programlisting>
EXPLAIN (ANALYZE, TIMING OFF) SELECT * FROM t WHERE a &lt;= 49 AND b &gt; 49; EXPLAIN (ANALYZE, TIMING OFF) SELECT * FROM t WHERE a &lt;= 49 AND b &gt; 49;
......
...@@ -2239,9 +2239,9 @@ CREATE TABLE cities_partdef ...@@ -2239,9 +2239,9 @@ CREATE TABLE cities_partdef
Typed tables implement a subset of the SQL standard. According to Typed tables implement a subset of the SQL standard. According to
the standard, a typed table has columns corresponding to the the standard, a typed table has columns corresponding to the
underlying composite type as well as one other column that is underlying composite type as well as one other column that is
the <quote>self-referencing column</quote>. PostgreSQL does not the <quote>self-referencing column</quote>.
support these self-referencing columns explicitly, but the same <productname>PostgreSQL</productname> does not support self-referencing
effect can be had using the OID feature. columns explicitly.
</para> </para>
</refsect2> </refsect2>
......
...@@ -957,7 +957,8 @@ data. Empty in ordinary tables.</entry> ...@@ -957,7 +957,8 @@ data. Empty in ordinary tables.</entry>
only present if the <firstterm>HEAP_HASNULL</firstterm> bit is set in only present if the <firstterm>HEAP_HASNULL</firstterm> bit is set in
<structfield>t_infomask</structfield>. If it is present it begins just after <structfield>t_infomask</structfield>. If it is present it begins just after
the fixed header and occupies enough bytes to have one bit per data column the fixed header and occupies enough bytes to have one bit per data column
(that is, <structfield>t_natts</structfield> bits altogether). In this list of bits, a (that is, the number of bits that equals the attribute count in
<structfield>t_infomask2</structfield>). In this list of bits, a
1 bit indicates not-null, a 0 bit is a null. When the bitmap is not 1 bit indicates not-null, a 0 bit is a null. When the bitmap is not
present, all columns are assumed not-null. present, all columns are assumed not-null.
The object ID is only present if the <firstterm>HEAP_HASOID_OLD</firstterm> bit The object ID is only present if the <firstterm>HEAP_HASOID_OLD</firstterm> bit
......
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