Documentation spell and markup checking

This commit is contained in:
Peter Eisentraut 2012-06-08 00:06:20 +03:00
parent 5d0109bd27
commit 5baf6da717
24 changed files with 90 additions and 90 deletions

View File

@ -3886,7 +3886,7 @@
particular operator family is applicable to a particular indexable column particular operator family is applicable to a particular indexable column
data type. The set of operators from the family that are actually usable data type. The set of operators from the family that are actually usable
with the indexed column are whichever ones accept the column's data type with the indexed column are whichever ones accept the column's data type
as their lefthand input. as their left-hand input.
</para> </para>
<para> <para>
@ -4431,7 +4431,7 @@
The function has no side effects. No information about the The function has no side effects. No information about the
arguments is conveyed except via the return value. Any function arguments is conveyed except via the return value. Any function
that might throw an error depending on the values of its arguments that might throw an error depending on the values of its arguments
is not leakproof. is not leak-proof.
</entry> </entry>
</row> </row>

View File

@ -317,12 +317,12 @@ make install
<note> <note>
<para> <para>
Some users have reported encountering a segmentation fault using Some users have reported encountering a segmentation fault using
openjade 1.4devel to build the PDFs, with a message like: OpenJade 1.4devel to build the PDFs, with a message like:
<screen> <screen>
openjade:./stylesheet.dsl:664:2:E: flow object not accepted by port; only display flow objects accepted openjade:./stylesheet.dsl:664:2:E: flow object not accepted by port; only display flow objects accepted
make: *** [postgres-A4.tex-pdf] Segmentation fault make: *** [postgres-A4.tex-pdf] Segmentation fault
</screen> </screen>
Downgrading to openjade 1.3 should get rid of this error. Downgrading to OpenJade 1.3 should get rid of this error.
</para> </para>
</note> </note>

View File

@ -9164,7 +9164,7 @@ int rtypwidth(int sqltype, int sqllen);
int rsetnull(int t, char *ptr); int rsetnull(int t, char *ptr);
</synopsis> </synopsis>
The function receives an integer that indicates the type of the The function receives an integer that indicates the type of the
variable and a pointer to the variable itself that is casted to a C variable and a pointer to the variable itself that is cast to a C
char* pointer. char* pointer.
</para> </para>
<para> <para>
@ -9249,7 +9249,7 @@ int risnull(int t, char *ptr);
</synopsis> </synopsis>
The function receives the type of the variable to test (<literal>t</>) The function receives the type of the variable to test (<literal>t</>)
as well a pointer to this variable (<literal>ptr</>). Note that the as well a pointer to this variable (<literal>ptr</>). Note that the
latter needs to be casted to a char*. See the function <xref latter needs to be cast to a char*. See the function <xref
linkend="rsetnull"> for a list of possible variable types. linkend="rsetnull"> for a list of possible variable types.
</para> </para>
<para> <para>

View File

@ -191,7 +191,7 @@ ExplainForeignScan (ForeignScanState *node,
related functions to add fields to the <command>EXPLAIN</> output. related functions to add fields to the <command>EXPLAIN</> output.
The flag fields in <literal>es</> can be used to determine what to The flag fields in <literal>es</> can be used to determine what to
print, and the state of the <structname>ForeignScanState</> node print, and the state of the <structname>ForeignScanState</> node
can be inspected to provide runtime statistics in the <command>EXPLAIN can be inspected to provide run-time statistics in the <command>EXPLAIN
ANALYZE</> case. ANALYZE</> case.
</para> </para>

View File

@ -122,7 +122,7 @@
<listitem> <listitem>
<para> <para>
This is a boolean option. If true, it specifies that values of the This is a Boolean option. If true, it specifies that values of the
column should not be matched against the null string (that is, the column should not be matched against the null string (that is, the
file-level <literal>null</literal> option). This has the same effect file-level <literal>null</literal> option). This has the same effect
as listing the column in <command>COPY</>'s as listing the column in <command>COPY</>'s

View File

@ -9648,9 +9648,9 @@ table2-mapping
<literal>array_to_json(anyarray [, pretty_bool])</literal> <literal>array_to_json(anyarray [, pretty_bool])</literal>
</entry> </entry>
<entry> <entry>
Returns the array as JSON. A Postgres multi-dimensional array Returns the array as JSON. A PostgreSQL multidimensional array
becomes a JSON array of arrays. Line feeds will be added between becomes a JSON array of arrays. Line feeds will be added between
dimension 1 elements if pretty_bool is true. dimension 1 elements if <parameter>pretty_bool</parameter> is true.
</entry> </entry>
<entry><literal>array_to_json('{{1,5},{99,100}}'::int[])</literal></entry> <entry><literal>array_to_json('{{1,5},{99,100}}'::int[])</literal></entry>
<entry><literal>[[1,5],[99,100]]</literal></entry> <entry><literal>[[1,5],[99,100]]</literal></entry>
@ -9664,7 +9664,7 @@ table2-mapping
</entry> </entry>
<entry> <entry>
Returns the row as JSON. Line feeds will be added between level Returns the row as JSON. Line feeds will be added between level
1 elements if pretty_bool is true. 1 elements if <parameter>pretty_bool</parameter> is true.
</entry> </entry>
<entry><literal>row_to_json(row(1,'foo'))</literal></entry> <entry><literal>row_to_json(row(1,'foo'))</literal></entry>
<entry><literal>{"f1":1,"f2":"foo"}</literal></entry> <entry><literal>{"f1":1,"f2":"foo"}</literal></entry>
@ -13813,7 +13813,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<entry><literal><function>pg_get_viewdef(<parameter>view_name</parameter>, <parameter>pretty_bool</>)</function></literal></entry> <entry><literal><function>pg_get_viewdef(<parameter>view_name</parameter>, <parameter>pretty_bool</>)</function></literal></entry>
<entry><type>text</type></entry> <entry><type>text</type></entry>
<entry>get underlying <command>SELECT</command> command for view, <entry>get underlying <command>SELECT</command> command for view,
lines with fields are wrapped to 80 columns if pretty_bool is true (<emphasis>deprecated</emphasis>)</entry> lines with fields are wrapped to 80 columns if <parameter>pretty_bool</parameter> is true (<emphasis>deprecated</emphasis>)</entry>
</row> </row>
<row> <row>
<entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>)</function></literal></entry> <entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>)</function></literal></entry>
@ -13824,7 +13824,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>, <parameter>pretty_bool</>)</function></literal></entry> <entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>, <parameter>pretty_bool</>)</function></literal></entry>
<entry><type>text</type></entry> <entry><type>text</type></entry>
<entry>get underlying <command>SELECT</command> command for view, <entry>get underlying <command>SELECT</command> command for view,
lines with fields are wrapped to 80 columns if pretty_bool is true</entry> lines with fields are wrapped to 80 columns if <parameter>pretty_bool</parameter> is true</entry>
</row> </row>
<row> <row>
<entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>, <parameter>wrap_int</>)</function></literal></entry> <entry><literal><function>pg_get_viewdef(<parameter>view_oid</parameter>, <parameter>wrap_int</>)</function></literal></entry>

View File

@ -107,9 +107,9 @@
If any of the keys can be null, also palloc an array of If any of the keys can be null, also palloc an array of
<literal>*nkeys</> booleans, store its address at <literal>*nkeys</> booleans, store its address at
<literal>*nullFlags</>, and set these null flags as needed. <literal>*nullFlags</>, and set these null flags as needed.
<literal>*nullFlags</> can be left NULL (its initial value) <literal>*nullFlags</> can be left <symbol>NULL</symbol> (its initial value)
if all keys are non-null. if all keys are non-null.
The return value can be NULL if the item contains no keys. The return value can be <symbol>NULL</symbol> if the item contains no keys.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -313,7 +313,7 @@
</para> </para>
<para> <para>
Multi-column <acronym>GIN</acronym> indexes are implemented by building Multicolumn <acronym>GIN</acronym> indexes are implemented by building
a single B-tree over composite values (column number, key value). The a single B-tree over composite values (column number, key value). The
key values for different columns can be of different types. key values for different columns can be of different types.
</para> </para>

View File

@ -865,10 +865,10 @@ pg_ctl start | rotatelogs /var/log/pgsql_log 86400
</para> </para>
<para> <para>
<ulink url="http://pgfouine.projects.postgresql.org/">pgFouine</ulink> <ulink url="http://pgfouine.projects.postgresql.org/"><productname>pgFouine</productname></ulink>
is an external project that does sophisticated log file analysis. is an external project that does sophisticated log file analysis.
<ulink <ulink
url="http://bucardo.org/wiki/Check_postgres">check_postgres</ulink> url="http://bucardo.org/wiki/Check_postgres"><productname>check_postgres</productname></ulink>
provides Nagios alerts when important messages appear in the log provides Nagios alerts when important messages appear in the log
files, as well as detection of many other extraordinary conditions. files, as well as detection of many other extraordinary conditions.
</para> </para>

View File

@ -210,7 +210,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
the collector just before going idle; so a query or transaction still in the collector just before going idle; so a query or transaction still in
progress does not affect the displayed totals. Also, the collector itself progress does not affect the displayed totals. Also, the collector itself
emits a new report at most once per <varname>PGSTAT_STAT_INTERVAL</varname> emits a new report at most once per <varname>PGSTAT_STAT_INTERVAL</varname>
milliseconds (500 msec unless altered while building the server). So the milliseconds (500 ms unless altered while building the server). So the
displayed information lags behind actual activity. However, current-query displayed information lags behind actual activity. However, current-query
information collected by <varname>track_activities</varname> is information collected by <varname>track_activities</varname> is
always up-to-date. always up-to-date.
@ -472,7 +472,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
<table id="pg-stat-activity-view" xreflabel="pg_stat_activity"> <table id="pg-stat-activity-view" xreflabel="pg_stat_activity">
<title>pg_stat_activity view</title> <title><structname>pg_stat_activity</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
@ -649,7 +649,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</note> </note>
<table id="pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter"> <table id="pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter">
<title>pg_stat_bgwriter view</title> <title><structname>pg_stat_bgwriter</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
@ -736,7 +736,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-database-view" xreflabel="pg_stat_database"> <table id="pg-stat-database-view" xreflabel="pg_stat_database">
<title>pg_stat_database view</title> <title><structname>pg_stat_database</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -873,7 +873,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables"> <table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables">
<title>pg_stat_all_tables view</title> <title><structname>pg_stat_all_tables</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1011,7 +1011,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes"> <table id="pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes">
<title>pg_stat_all_indexes view</title> <title><structname>pg_stat_all_indexes</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1104,7 +1104,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</note> </note>
<table id="pg-statio-all-tables-view" xreflabel="pg_statio_all_tables"> <table id="pg-statio-all-tables-view" xreflabel="pg_statio_all_tables">
<title>pg_statio_all_tables view</title> <title><structname>pg_statio_all_tables</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1185,7 +1185,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes"> <table id="pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes">
<title>pg_statio_all_indexes view</title> <title><structname>pg_statio_all_indexes</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1246,7 +1246,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences"> <table id="pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences">
<title>pg_statio_all_sequences view</title> <title><structname>pg_statio_all_sequences</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1293,7 +1293,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-user-functions-view" xreflabel="pg_stat_user_functions"> <table id="pg-stat-user-functions-view" xreflabel="pg_stat_user_functions">
<title>pg_stat_user_functions view</title> <title><structname>pg_stat_user_functions</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1348,7 +1348,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-replication-view" xreflabel="pg_stat_replication"> <table id="pg-stat-replication-view" xreflabel="pg_stat_replication">
<title>pg_stat_replication view</title> <title><structname>pg_stat_replication</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>
@ -1462,7 +1462,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
</para> </para>
<table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts"> <table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
<title>pg_stat_database_conflicts view</title> <title><structname>pg_stat_database_conflicts</structname> View</title>
<tgroup cols="3"> <tgroup cols="3">
<thead> <thead>
<row> <row>

View File

@ -265,7 +265,7 @@ EXPLAIN SELECT * FROM tenk1 WHERE unique1 &lt; 100 AND stringu1 = 'xxx';
</screen> </screen>
The added condition <literal>stringu1 = 'xxx'</literal> reduces the The added condition <literal>stringu1 = 'xxx'</literal> reduces the
output-rowcount estimate, but not the cost because we still have to visit output row count estimate, but not the cost because we still have to visit
the same set of rows. Notice that the <literal>stringu1</> clause the same set of rows. Notice that the <literal>stringu1</> clause
cannot be applied as an index condition, since this index is only on cannot be applied as an index condition, since this index is only on
the <literal>unique1</> column. Instead it is applied as a filter on the <literal>unique1</> column. Instead it is applied as a filter on
@ -489,7 +489,7 @@ WHERE t1.unique1 &lt; 100 AND t1.unique2 = t2.unique2;
the rows in the correct order, but a sequential scan and sort is preferred the rows in the correct order, but a sequential scan and sort is preferred
for <literal>onek</>, because there are many more rows to be visited in for <literal>onek</>, because there are many more rows to be visited in
that table. that table.
(Seqscan-and-sort frequently beats an indexscan for sorting many rows, (Sequential-scan-and-sort frequently beats an index scan for sorting many rows,
because of the nonsequential disk access required by the index scan.) because of the nonsequential disk access required by the index scan.)
</para> </para>
@ -499,7 +499,7 @@ WHERE t1.unique1 &lt; 100 AND t1.unique2 = t2.unique2;
flags described in <xref linkend="runtime-config-query-enable">. flags described in <xref linkend="runtime-config-query-enable">.
(This is a crude tool, but useful. See (This is a crude tool, but useful. See
also <xref linkend="explicit-joins">.) also <xref linkend="explicit-joins">.)
For example, if we're unconvinced that seqscan-and-sort is the best way to For example, if we're unconvinced that sequential-scan-and-sort is the best way to
deal with table <literal>onek</> in the previous example, we could try deal with table <literal>onek</> in the previous example, we could try
<screen> <screen>
@ -519,7 +519,7 @@ WHERE t1.unique1 &lt; 100 AND t1.unique2 = t2.unique2;
</screen> </screen>
which shows that the planner thinks that sorting <literal>onek</> by which shows that the planner thinks that sorting <literal>onek</> by
indexscanning is about 12% more expensive than seqscan-and-sort. index-scanning is about 12% more expensive than sequential-scan-and-sort.
Of course, the next question is whether it's right about that. Of course, the next question is whether it's right about that.
We can investigate that using <command>EXPLAIN ANALYZE</>, as discussed We can investigate that using <command>EXPLAIN ANALYZE</>, as discussed
below. below.

View File

@ -52,22 +52,22 @@ pgrowlocks(text) returns setof record
<row> <row>
<entry><structfield>locker</structfield></entry> <entry><structfield>locker</structfield></entry>
<entry><type>xid</type></entry> <entry><type>xid</type></entry>
<entry>Transaction ID of locker, or multixact ID if multi-transaction</entry> <entry>Transaction ID of locker, or multixact ID if multitransaction</entry>
</row> </row>
<row> <row>
<entry><structfield>multi</structfield></entry> <entry><structfield>multi</structfield></entry>
<entry><type>boolean</type></entry> <entry><type>boolean</type></entry>
<entry>True if locker is a multi-transaction</entry> <entry>True if locker is a multitransaction</entry>
</row> </row>
<row> <row>
<entry><structfield>xids</structfield></entry> <entry><structfield>xids</structfield></entry>
<entry><type>xid[]</type></entry> <entry><type>xid[]</type></entry>
<entry>Transaction IDs of lockers (more than one if multi-transaction)</entry> <entry>Transaction IDs of lockers (more than one if multitransaction)</entry>
</row> </row>
<row> <row>
<entry><structfield>pids</structfield></entry> <entry><structfield>pids</structfield></entry>
<entry><type>integer[]</type></entry> <entry><type>integer[]</type></entry>
<entry>Process IDs of locking backends (more than one if multi-transaction)</entry> <entry>Process IDs of locking backends (more than one if multitransaction)</entry>
</row> </row>
</tbody> </tbody>

View File

@ -31,7 +31,7 @@
idea of what the fastest <xref linkend="guc-wal-sync-method"> is on your idea of what the fastest <xref linkend="guc-wal-sync-method"> is on your
specific system, specific system,
as well as supplying diagnostic information in the event of an as well as supplying diagnostic information in the event of an
identified I/O problem. However, differences shown by pg_test_fsync identified I/O problem. However, differences shown by <application>pg_test_fsync</application>
might not make any difference in real database throughput, especially might not make any difference in real database throughput, especially
since many database servers are not speed-limited by their transaction since many database servers are not speed-limited by their transaction
logs. logs.

View File

@ -101,7 +101,7 @@ Histogram of timing durations:
When the query executor is running a statement using When the query executor is running a statement using
<command>EXPLAIN ANALYZE</command>, individual operations are timed as well <command>EXPLAIN ANALYZE</command>, individual operations are timed as well
as showing a summary. The overhead of your system can be checked by as showing a summary. The overhead of your system can be checked by
counting rows with the psql program: counting rows with the <application>psql</application> program:
<screen> <screen>
CREATE TABLE t AS SELECT * FROM generate_series(1,100000); CREATE TABLE t AS SELECT * FROM generate_series(1,100000);
@ -226,7 +226,7 @@ Histogram of timing durations:
reliable. There are several ways that TSC can fail to provide an accurate reliable. There are several ways that TSC can fail to provide an accurate
timing source, making it unreliable. Older systems can have a TSC clock that timing source, making it unreliable. Older systems can have a TSC clock that
varies based on the CPU temperature, making it unusable for timing. Trying varies based on the CPU temperature, making it unusable for timing. Trying
to use TSC on some older multi-core CPUs can give a reported time that's to use TSC on some older multicore CPUs can give a reported time that's
inconsistent among multiple cores. This can result in the time going inconsistent among multiple cores. This can result in the time going
backwards, a problem this program checks for. And even the newest systems backwards, a problem this program checks for. And even the newest systems
can fail to provide accurate TSC timing with very aggressive power saving can fail to provide accurate TSC timing with very aggressive power saving

View File

@ -1783,7 +1783,7 @@ The commands accepted in walsender mode are:
<listitem> <listitem>
<para> <para>
<filename>pg_xlog</>, including subdirectories. If the backup is run <filename>pg_xlog</>, including subdirectories. If the backup is run
with wal files included, a synthesized version of pg_xlog will be with WAL files included, a synthesized version of <filename>pg_xlog</filename> will be
included, but it will only contain the files necessary for the included, but it will only contain the files necessary for the
backup to work, not the rest of the contents. backup to work, not the rest of the contents.
</para> </para>

View File

@ -249,7 +249,7 @@ PostgreSQL documentation
<term><option>--no-readline</></term> <term><option>--no-readline</></term>
<listitem> <listitem>
<para> <para>
Do not use readline for line editing and do not use the history. Do not use <application>readline</application> for line editing and do not use the history.
This can be useful to turn off tab expansion when cutting and pasting. This can be useful to turn off tab expansion when cutting and pasting.
</para> </para>
</listitem> </listitem>
@ -289,7 +289,7 @@ PostgreSQL documentation
Specifies printing options, in the style of Specifies printing options, in the style of
<command>\pset</command>. Note that here you <command>\pset</command>. Note that here you
have to separate name and value with an equal sign instead of a have to separate name and value with an equal sign instead of a
space. For example, to set the output format to LaTeX, you could write space. For example, to set the output format to <application>LaTeX</application>, you could write
<literal>-P format=latex</literal>. <literal>-P format=latex</literal>.
</para> </para>
</listitem> </listitem>
@ -607,7 +607,7 @@ PostgreSQL documentation
$ <userinput>psql "service=myservice sslmode=require"</userinput> $ <userinput>psql "service=myservice sslmode=require"</userinput>
$ <userinput>psql postgresql://dbmaster:5433/mydb?sslmode=require</userinput> $ <userinput>psql postgresql://dbmaster:5433/mydb?sslmode=require</userinput>
</programlisting> </programlisting>
This way you can also use LDAP for connection parameter lookup as This way you can also use <acronym>LDAP</acronym> for connection parameter lookup as
described in <xref linkend="libpq-ldap">. described in <xref linkend="libpq-ldap">.
See <xref linkend="libpq-connect"> for more information on all the See <xref linkend="libpq-connect"> for more information on all the
available connection options. available connection options.
@ -1670,9 +1670,9 @@ Tue Oct 26 21:40:57 CEST 1999
<listitem> <listitem>
<para> <para>
The <literal>\ir</> command is similar to <literal>\i</>, but resolves The <literal>\ir</> command is similar to <literal>\i</>, but resolves
relative pathnames differently. When executing in interactive mode, relative file names differently. When executing in interactive mode,
the two commands behave identically. However, when invoked from a the two commands behave identically. However, when invoked from a
script, <literal>\ir</literal> interprets pathnames relative to the script, <literal>\ir</literal> interprets file names relative to the
directory in which the script is located, rather than the current directory in which the script is located, rather than the current
working directory. working directory.
</para> </para>
@ -2001,7 +2001,7 @@ lo_import 152801
formats put out tables that are intended to formats put out tables that are intended to
be included in documents using the respective mark-up be included in documents using the respective mark-up
language. They are not complete documents! (This might not be language. They are not complete documents! (This might not be
so dramatic in <acronym>HTML</acronym>, but in LaTeX you must so dramatic in <acronym>HTML</acronym>, but in <application>LaTeX</application> you must
have a complete document wrapper.) have a complete document wrapper.)
</para> </para>
</listitem> </listitem>
@ -3031,7 +3031,7 @@ testdb=&gt; <userinput>\set content `cat my_file.txt`</userinput>
testdb=&gt; <userinput>INSERT INTO my_table VALUES (:'content');</userinput> testdb=&gt; <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
</programlisting> </programlisting>
(Note that this still won't work if <filename>my_file.txt</filename> 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.) <application>psql</application> does not support embedded NUL bytes in variable values.)
</para> </para>
<para> <para>
@ -3370,7 +3370,7 @@ PSQL_EDITOR_LINENUMBER_ARG='--line '
<listitem> <listitem>
<para> <para>
Alternative location for the command history file. Tilde ("~") expansion is performed. Alternative location for the command history file. Tilde (<literal>~</literal>) expansion is performed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -3380,7 +3380,7 @@ PSQL_EDITOR_LINENUMBER_ARG='--line '
<listitem> <listitem>
<para> <para>
Alternative location of the user's .psqlrc file. Tilde ("~") expansion is performed. Alternative location of the user's <filename>.psqlrc</filename> file. Tilde (<literal>~</literal>) expansion is performed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -3445,7 +3445,7 @@ PSQL_EDITOR_LINENUMBER_ARG='--line '
<listitem> <listitem>
<para> <para>
Both the system-wide <filename>psqlrc</filename> file and the user's Both the system-wide <filename>psqlrc</filename> file and the user's
<filename>~/.psqlrc</filename> file can be made psql-version-specific <filename>~/.psqlrc</filename> file can be made <application>psql</application>-version-specific
by appending a dash and the <productname>PostgreSQL</productname> by appending a dash and the <productname>PostgreSQL</productname>
major or minor <application>psql</application> release number, major or minor <application>psql</application> release number,
for example <filename>~/.psqlrc-9.2</filename> or for example <filename>~/.psqlrc-9.2</filename> or

View File

@ -1892,7 +1892,7 @@ CREATE VIEW phone_number WITH (security_barrier) AS
<para> <para>
The query planner has more flexibility when dealing with functions that The query planner has more flexibility when dealing with functions that
have no side effects. Such functions are referred to as LEAKPROOF, and have no side effects. Such functions are referred to as <literal>LEAKPROOF</literal>, and
include many simple, commonly used operators, such as many equality include many simple, commonly used operators, such as many equality
operators. The query planner can safely allow such functions to be evaluated operators. The query planner can safely allow such functions to be evaluated
at any point in the query execution process, since invoking them on rows at any point in the query execution process, since invoking them on rows

View File

@ -178,7 +178,7 @@ $ for DBNAME in template0 template1 postgres; do
Once built, install this policy package using the Once built, install this policy package using the
<command>semodule</> command, which loads supplied policy packages <command>semodule</> command, which loads supplied policy packages
into the kernel. If the package is correctly installed, into the kernel. If the package is correctly installed,
<literal><command>semodule</> -l</> should list sepgsql-regtest as an <literal><command>semodule</> -l</> should list <literal>sepgsql-regtest</literal> as an
available policy package: available policy package:
</para> </para>
@ -467,7 +467,7 @@ UPDATE t1 SET x = 2, y = md5sum(y) WHERE z = 100;
<sect3> <sect3>
<title>Trusted Procedures</title> <title>Trusted Procedures</title>
<para> <para>
Trusted procedures are similar to security definer functions or set-uid Trusted procedures are similar to security definer functions or setuid
commands. <productname>SELinux</> provides a feature to allow trusted commands. <productname>SELinux</> provides a feature to allow trusted
code to run using a security label different from that of the client, code to run using a security label different from that of the client,
generally for the purpose of providing highly controlled access to generally for the purpose of providing highly controlled access to

View File

@ -102,12 +102,12 @@
<note> <note>
<para> <para>
The <acronym>SP-GiST</acronym> core code takes care of NULL entries. The <acronym>SP-GiST</acronym> core code takes care of null entries.
Although <acronym>SP-GiST</acronym> indexes do store entries for nulls Although <acronym>SP-GiST</acronym> indexes do store entries for nulls
in indexed columns, this is hidden from the index operator class code: in indexed columns, this is hidden from the index operator class code:
no null index entries or search conditions will ever be passed to the no null index entries or search conditions will ever be passed to the
operator class methods. (It is assumed that <acronym>SP-GiST</acronym> operator class methods. (It is assumed that <acronym>SP-GiST</acronym>
operators are strict and so cannot succeed for NULL values.) NULLs operators are strict and so cannot succeed for null values.) Null values
are therefore not discussed further here. are therefore not discussed further here.
</para> </para>
</note> </note>
@ -163,7 +163,7 @@ typedef struct spgConfigOut
</programlisting> </programlisting>
<structfield>attType</> is passed in order to support polymorphic <structfield>attType</> is passed in order to support polymorphic
index operator classes; for ordinary fixed-data-type opclasses, it index operator classes; for ordinary fixed-data-type operator classes, it
will always have the same value and so can be ignored. will always have the same value and so can be ignored.
</para> </para>
@ -626,7 +626,7 @@ typedef struct spgLeafConsistentOut
<para> <para>
This section covers implementation details and other tricks that are This section covers implementation details and other tricks that are
useful for implementors of <acronym>SP-GiST</acronym> operator classes to useful for implementers of <acronym>SP-GiST</acronym> operator classes to
know. know.
</para> </para>

View File

@ -2292,8 +2292,8 @@ SELECT ts_lexize('public.simple_dict','The');
word with a synonym. Phrases are not supported (use the thesaurus word with a synonym. Phrases are not supported (use the thesaurus
template (<xref linkend="textsearch-thesaurus">) for that). A synonym template (<xref linkend="textsearch-thesaurus">) for that). A synonym
dictionary can be used to overcome linguistic problems, for example, to dictionary can be used to overcome linguistic problems, for example, to
prevent an English stemmer dictionary from reducing the word 'Paris' to prevent an English stemmer dictionary from reducing the word <quote>Paris</quote> to
'pari'. It is enough to have a <literal>Paris paris</literal> line in the <quote>pari</quote>. It is enough to have a <literal>Paris paris</literal> line in the
synonym dictionary and put it before the <literal>english_stem</> synonym dictionary and put it before the <literal>english_stem</>
dictionary. For example: dictionary. For example:

View File

@ -1768,7 +1768,7 @@ typedef struct
Finally, all variable-length types must also be passed Finally, all variable-length types must also be passed
by reference. All variable-length types must begin by reference. All variable-length types must begin
with an opaque length field of exactly 4 bytes, which will be set with an opaque length field of exactly 4 bytes, which will be set
by SET_VARSIZE; never set this field directly! All data to by <symbol>SET_VARSIZE</symbol>; never set this field directly! All data to
be stored within that type must be located in the memory be stored within that type must be located in the memory
immediately following that length field. The immediately following that length field. The
length field contains the total length of the structure, length field contains the total length of the structure,