aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/backup.sgml8
-rw-r--r--doc/src/sgml/catalogs.sgml98
-rw-r--r--doc/src/sgml/config.sgml24
-rw-r--r--doc/src/sgml/ddl.sgml22
-rw-r--r--doc/src/sgml/dml.sgml2
-rw-r--r--doc/src/sgml/ecpg.sgml7
-rw-r--r--doc/src/sgml/extend.sgml10
-rw-r--r--doc/src/sgml/logical-replication.sgml12
-rw-r--r--doc/src/sgml/maintenance.sgml10
-rw-r--r--doc/src/sgml/monitoring.sgml6
-rw-r--r--doc/src/sgml/mvcc.sgml13
-rw-r--r--doc/src/sgml/perform.sgml12
-rw-r--r--doc/src/sgml/plpgsql.sgml2
-rw-r--r--doc/src/sgml/postgres-fdw.sgml10
-rw-r--r--doc/src/sgml/queries.sgml2
-rw-r--r--doc/src/sgml/ref/abort.sgml8
-rw-r--r--doc/src/sgml/ref/alter_aggregate.sgml2
-rw-r--r--doc/src/sgml/ref/alter_domain.sgml2
-rw-r--r--doc/src/sgml/ref/alter_foreign_table.sgml20
-rw-r--r--doc/src/sgml/ref/alter_group.sgml6
-rw-r--r--doc/src/sgml/ref/alter_index.sgml10
-rw-r--r--doc/src/sgml/ref/alter_materialized_view.sgml3
-rw-r--r--doc/src/sgml/ref/alter_role.sgml24
-rw-r--r--doc/src/sgml/ref/alter_statistics.sgml2
-rw-r--r--doc/src/sgml/ref/alter_table.sgml32
-rw-r--r--doc/src/sgml/ref/alter_trigger.sgml2
-rw-r--r--doc/src/sgml/ref/alter_type.sgml2
-rw-r--r--doc/src/sgml/ref/alter_user.sgml2
-rw-r--r--doc/src/sgml/ref/analyze.sgml11
-rw-r--r--doc/src/sgml/ref/begin.sgml16
-rw-r--r--doc/src/sgml/ref/close.sgml2
-rw-r--r--doc/src/sgml/ref/cluster.sgml4
-rw-r--r--doc/src/sgml/ref/copy.sgml8
-rw-r--r--doc/src/sgml/ref/create_aggregate.sgml2
-rw-r--r--doc/src/sgml/ref/create_cast.sgml2
-rw-r--r--doc/src/sgml/ref/create_database.sgml8
-rw-r--r--doc/src/sgml/ref/create_foreign_table.sgml4
-rw-r--r--doc/src/sgml/ref/create_function.sgml2
-rw-r--r--doc/src/sgml/ref/create_index.sgml6
-rw-r--r--doc/src/sgml/ref/create_language.sgml4
-rw-r--r--doc/src/sgml/ref/create_materialized_view.sgml4
-rw-r--r--doc/src/sgml/ref/create_operator.sgml4
-rw-r--r--doc/src/sgml/ref/create_procedure.sgml2
-rw-r--r--doc/src/sgml/ref/create_role.sgml12
-rw-r--r--doc/src/sgml/ref/create_table.sgml12
-rw-r--r--doc/src/sgml/ref/create_table_as.sgml10
-rw-r--r--doc/src/sgml/ref/create_transform.sgml2
-rw-r--r--doc/src/sgml/ref/create_trigger.sgml4
-rw-r--r--doc/src/sgml/ref/create_type.sgml4
-rw-r--r--doc/src/sgml/ref/create_user.sgml2
-rw-r--r--doc/src/sgml/ref/create_view.sgml10
-rw-r--r--doc/src/sgml/ref/createdb.sgml4
-rw-r--r--doc/src/sgml/ref/createuser.sgml2
-rw-r--r--doc/src/sgml/ref/declare.sgml14
-rw-r--r--doc/src/sgml/ref/delete.sgml2
-rw-r--r--doc/src/sgml/ref/drop_group.sgml2
-rw-r--r--doc/src/sgml/ref/drop_language.sgml2
-rw-r--r--doc/src/sgml/ref/drop_owned.sgml2
-rw-r--r--doc/src/sgml/ref/drop_role.sgml4
-rw-r--r--doc/src/sgml/ref/drop_table.sgml4
-rw-r--r--doc/src/sgml/ref/drop_user.sgml2
-rw-r--r--doc/src/sgml/ref/dropdb.sgml2
-rw-r--r--doc/src/sgml/ref/dropuser.sgml2
-rw-r--r--doc/src/sgml/ref/end.sgml8
-rw-r--r--doc/src/sgml/ref/explain.sgml2
-rw-r--r--doc/src/sgml/ref/fetch.sgml4
-rw-r--r--doc/src/sgml/ref/grant.sgml2
-rw-r--r--doc/src/sgml/ref/lock.sgml6
-rw-r--r--doc/src/sgml/ref/postgres-ref.sgml4
-rw-r--r--doc/src/sgml/ref/prepare.sgml4
-rw-r--r--doc/src/sgml/ref/prepare_transaction.sgml8
-rw-r--r--doc/src/sgml/ref/psql-ref.sgml30
-rw-r--r--doc/src/sgml/ref/reassign_owned.sgml2
-rw-r--r--doc/src/sgml/ref/refresh_materialized_view.sgml2
-rw-r--r--doc/src/sgml/ref/reindexdb.sgml2
-rw-r--r--doc/src/sgml/ref/revoke.sgml4
-rw-r--r--doc/src/sgml/ref/rollback.sgml2
-rw-r--r--doc/src/sgml/ref/rollback_to.sgml2
-rw-r--r--doc/src/sgml/ref/savepoint.sgml4
-rw-r--r--doc/src/sgml/ref/select.sgml4
-rw-r--r--doc/src/sgml/ref/select_into.sgml6
-rw-r--r--doc/src/sgml/ref/set_role.sgml6
-rw-r--r--doc/src/sgml/ref/set_session_auth.sgml4
-rw-r--r--doc/src/sgml/ref/start_transaction.sgml4
-rw-r--r--doc/src/sgml/ref/vacuumdb.sgml2
-rw-r--r--doc/src/sgml/sepgsql.sgml8
-rw-r--r--doc/src/sgml/tsm-system-rows.sgml2
-rw-r--r--doc/src/sgml/tsm-system-time.sgml2
-rw-r--r--doc/src/sgml/user-manag.sgml24
-rw-r--r--doc/src/sgml/xaggr.sgml2
-rw-r--r--doc/src/sgml/xfunc.sgml12
-rw-r--r--doc/src/sgml/xplang.sgml2
92 files changed, 348 insertions, 346 deletions
diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index b9331830f7d..42a8ed328d8 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -177,8 +177,8 @@ pg_dump -h <replaceable>host1</replaceable> <replaceable>dbname</replaceable> |
</important>
<para>
- After restoring a backup, it is wise to run <xref
- linkend="sql-analyze"/> on each
+ After restoring a backup, it is wise to run <link
+ linkend="sql-analyze"><command>ANALYZE</command></link> on each
database so the query optimizer has useful statistics;
see <xref linkend="vacuum-for-statistics"/>
and <xref linkend="autovacuum"/> for more information.
@@ -1594,7 +1594,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"'
<itemizedlist>
<listitem>
<para>
- If a <xref linkend="sql-createdatabase"/>
+ If a <link linkend="sql-createdatabase"><command>CREATE DATABASE</command></link>
command is executed while a base backup is being taken, and then
the template database that the <command>CREATE DATABASE</command> copied
is modified while the base backup is still in progress, it is
@@ -1607,7 +1607,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"'
<listitem>
<para>
- <xref linkend="sql-createtablespace"/>
+ <link linkend="sql-createtablespace"><command>CREATE TABLESPACE</command></link>
commands are WAL-logged with the literal absolute path, and will
therefore be replayed as tablespace creations with the same
absolute path. This might be undesirable if the log is being
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index de9bacd34f8..0e580b157f5 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -639,8 +639,8 @@
</table>
<para>
- New aggregate functions are registered with the <xref
- linkend="sql-createaggregate"/>
+ New aggregate functions are registered with the <link
+ linkend="sql-createaggregate"><command>CREATE AGGREGATE</command></link>
command. See <xref linkend="xaggr"/> for more information about
writing aggregate functions and the meaning of the transition
functions, etc.
@@ -1161,7 +1161,7 @@
<para>
<structfield>attstattarget</structfield> controls the level of detail
of statistics accumulated for this column by
- <xref linkend="sql-analyze"/>.
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>.
A zero value indicates that no statistics should be collected.
A negative value says to use the system default statistics target.
The exact meaning of positive values is data type-dependent.
@@ -1966,9 +1966,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
Size of the on-disk representation of this table in pages (of size
<symbol>BLCKSZ</symbol>). This is only an estimate used by the
- planner. It is updated by <xref linkend="sql-vacuum"/>,
- <xref linkend="sql-analyze"/>, and a few DDL commands such as
- <xref linkend="sql-createindex"/>.
+ planner. It is updated by <link linkend="sql-vacuum"><command>VACUUM</command></link>,
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
+ <link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
</para></entry>
</row>
@@ -1978,9 +1978,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
</para>
<para>
Number of live rows in the table. This is only an estimate used by
- the planner. It is updated by <xref linkend="sql-vacuum"/>,
- <xref linkend="sql-analyze"/>, and a few DDL commands such as
- <xref linkend="sql-createindex"/>.
+ the planner. It is updated by <link linkend="sql-vacuum"><command>VACUUM</command></link>,
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
+ <link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
If the table has never yet been vacuumed or
analyzed, <structfield>reltuples</structfield>
contains <literal>-1</literal> indicating that the row count is
@@ -1995,9 +1995,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
Number of pages that are marked all-visible in the table's
visibility map. This is only an estimate used by the
- planner. It is updated by <xref linkend="sql-vacuum"/>,
- <xref linkend="sql-analyze"/>, and a few DDL commands such as
- <xref linkend="sql-createindex"/>.
+ planner. It is updated by <link linkend="sql-vacuum"><command>VACUUM</command></link>,
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
+ <link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
</para></entry>
</row>
@@ -2241,8 +2241,8 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
lazily: they are guaranteed to be true if that's the correct state, but
may not be reset to false immediately when the condition is no longer
true. For example, <structfield>relhasindex</structfield> is set by
- <xref linkend="sql-createindex"/>, but it is never cleared by
- <xref linkend="sql-dropindex"/>. Instead, <xref linkend="sql-vacuum"/> clears
+ <link linkend="sql-createindex"><command>CREATE INDEX</command></link>, but it is never cleared by
+ <link linkend="sql-dropindex"><command>DROP INDEX</command></link>. Instead, <link linkend="sql-vacuum"><command>VACUUM</command></link> clears
<structfield>relhasindex</structfield> if it finds the table has no indexes. This
arrangement avoids race conditions and improves concurrency.
</para>
@@ -2848,8 +2848,8 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_database</structname> stores information about
- the available databases. Databases are created with the <xref
- linkend="sql-createdatabase"/> command.
+ the available databases. Databases are created with the <link
+ linkend="sql-createdatabase"><command>CREATE DATABASE</command></link> command.
Consult <xref linkend="managing-databases"/> for details about the meaning
of some of the parameters.
</para>
@@ -3425,7 +3425,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
the referenced object (see
<link linkend="catalog-pg-extension"><structname>pg_extension</structname></link>).
The dependent object can be dropped only via
- <xref linkend="sql-dropextension"/> on the referenced object.
+ <link linkend="sql-dropextension"><command>DROP EXTENSION</command></link> on the referenced object.
Functionally this dependency type acts the same as
an <literal>INTERNAL</literal> dependency, but it's kept separate for
clarity and to simplify <application>pg_dump</application>.
@@ -3492,7 +3492,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_description</structname> stores optional descriptions
(comments) for each database object. Descriptions can be manipulated
- with the <xref linkend="sql-comment"/> command and viewed with
+ with the <link linkend="sql-comment"><command>COMMENT</command></link> command and viewed with
<application>psql</application>'s <literal>\d</literal> commands.
Descriptions of many built-in system objects are provided in the initial
contents of <structname>pg_description</structname>.
@@ -4285,7 +4285,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
If true, the index is currently valid for queries. False means the
index is possibly incomplete: it must still be modified by
- <xref linkend="sql-insert"/>/<xref linkend="sql-update"/> operations, but it cannot safely
+ <link linkend="sql-insert"><command>INSERT</command></link>/<link linkend="sql-update"><command>UPDATE</command></link> operations, but it cannot safely
be used for queries. If it is unique, the uniqueness property is not
guaranteed true either.
</para></entry>
@@ -4309,7 +4309,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
</para>
<para>
If true, the index is currently ready for inserts. False means the
- index must be ignored by <xref linkend="sql-insert"/>/<xref linkend="sql-update"/>
+ index must be ignored by <link linkend="sql-insert"><command>INSERT</command></link>/<link linkend="sql-update"><command>UPDATE</command></link>
operations.
</para></entry>
</row>
@@ -4504,11 +4504,11 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
Objects can have initial privileges either by having those privileges set
when the system is initialized (by <application>initdb</application>) or when the
- object is created during a <xref linkend="sql-createextension"/> and the
- extension script sets initial privileges using the <xref linkend="sql-grant"/>
+ object is created during a <link linkend="sql-createextension"><command>CREATE EXTENSION</command></link> and the
+ extension script sets initial privileges using the <link linkend="sql-grant"><command>GRANT</command></link>
system. Note that the system will automatically handle recording of the
privileges during the extension script and that extension authors need
- only use the <xref linkend="sql-grant"/> and <xref linkend="sql-revoke"/>
+ only use the <command>GRANT</command> and <command>REVOKE</command>
statements in their script to have the privileges recorded. The
<literal>privtype</literal> column indicates if the initial privilege was
set by <application>initdb</application> or during a
@@ -6481,7 +6481,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_seclabel</structname> stores security
labels on database objects. Security labels can be manipulated
- with the <xref linkend="sql-security-label"/> command. For an easier
+ with the <link linkend="sql-security-label"><command>SECURITY LABEL</command></link> command. For an easier
way to view security labels, see <xref linkend="view-pg-seclabels"/>.
</para>
@@ -6855,7 +6855,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_shdescription</structname> stores optional
descriptions (comments) for shared database objects. Descriptions can be
- manipulated with the <xref linkend="sql-comment"/> command and viewed with
+ manipulated with the <link linkend="sql-comment"><command>COMMENT</command></link> command and viewed with
<application>psql</application>'s <literal>\d</literal> commands.
</para>
@@ -6931,7 +6931,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_shseclabel</structname> stores security
labels on shared database objects. Security labels can be manipulated
- with the <xref linkend="sql-security-label"/> command. For an easier
+ with the <link linkend="sql-security-label"><command>SECURITY LABEL</command></link> command. For an easier
way to view security labels, see <xref linkend="view-pg-seclabels"/>.
</para>
@@ -7015,7 +7015,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_statistic</structname> stores
statistical data about the contents of the database. Entries are
- created by <xref linkend="sql-analyze"/>
+ created by <link linkend="sql-analyze"><command>ANALYZE</command></link>
and subsequently used by the query planner. Note that all the
statistical data is inherently approximate, even assuming that it
is up-to-date.
@@ -7223,7 +7223,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
The catalog <structname>pg_statistic_ext</structname>
holds definitions of extended planner statistics.
Each row in this catalog corresponds to a <firstterm>statistics object</firstterm>
- created with <xref linkend="sql-createstatistics"/>.
+ created with <link linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link>.
</para>
<table>
@@ -7296,7 +7296,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
<structfield>stxstattarget</structfield> controls the level of detail
of statistics accumulated for this statistics object by
- <xref linkend="sql-analyze"/>.
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>.
A zero value indicates that no statistics should be collected.
A negative value says to use the maximum of the statistics targets of
the referenced columns, if set, or the system default statistics target.
@@ -7337,9 +7337,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The <structname>pg_statistic_ext</structname> entry is filled in
- completely during <xref linkend="sql-createstatistics"/>, but the actual
+ completely during <link linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link>, but the actual
statistical values are not computed then.
- Subsequent <xref linkend="sql-analyze"/> commands compute the desired values
+ Subsequent <link linkend="sql-analyze"><command>ANALYZE</command></link> commands compute the desired values
and populate an entry in the
<link linkend="catalog-pg-statistic-ext-data"><structname>pg_statistic_ext_data</structname></link>
catalog.
@@ -7358,7 +7358,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
holds data for extended planner statistics defined in
<link linkend="catalog-pg-statistic-ext"><structname>pg_statistic_ext</structname></link>.
Each row in this catalog corresponds to a <firstterm>statistics object</firstterm>
- created with <xref linkend="sql-createstatistics"/>.
+ created with <link linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link>.
</para>
<para>
@@ -7591,7 +7591,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
This catalog only contains tables known to the subscription after running
- either <xref linkend="sql-createsubscription"/> or
+ either <link linkend="sql-createsubscription"><command>CREATE SUBSCRIPTION</command></link> or
<link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION ... REFRESH
PUBLICATION</command></link>.
</para>
@@ -8569,9 +8569,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para>
The catalog <structname>pg_type</structname> stores information about data
types. Base types and enum types (scalar types) are created with
- <xref linkend="sql-createtype"/>, and
+ <link linkend="sql-createtype"><command>CREATE TYPE</command></link>, and
domains with
- <xref linkend="sql-createdomain"/>.
+ <link linkend="sql-createdomain"><command>CREATE DOMAIN</command></link>.
A composite type is automatically created for each table in the database, to
represent the row structure of the table. It is also possible to create
composite types with <command>CREATE TYPE AS</command>.
@@ -9791,7 +9791,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<itemizedlist>
<listitem>
<para>
- via the <xref linkend="sql-declare"/>
+ via the <link linkend="sql-declare"><command>DECLARE</command></link>
statement in SQL
</para>
</listitem>
@@ -10917,7 +10917,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structname>pg_prepared_statements</structname> contains one row
for each prepared statement. Rows are added to the view when a new
prepared statement is created and removed when a prepared statement
- is released (for example, via the <xref linkend="sql-deallocate"/> command).
+ is released (for example, via the <link linkend="sql-deallocate"><command>DEALLOCATE</command></link> command).
</para>
<table>
@@ -10951,7 +10951,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<para>
The query string submitted by the client to create this
prepared statement. For prepared statements created via SQL,
- this is the <xref linkend="sql-prepare"/> statement submitted by
+ this is the <command>PREPARE</command> statement submitted by
the client. For prepared statements created via the
frontend/backend protocol, this is the text of the prepared
statement itself.
@@ -10985,7 +10985,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
<para>
<literal>true</literal> if the prepared statement was created
- via the <xref linkend="sql-prepare"/> SQL command;
+ via the <command>PREPARE</command> SQL command;
<literal>false</literal> if the statement was prepared via the
frontend/backend protocol
</para></entry>
@@ -11967,10 +11967,10 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<para>
The view <structname>pg_settings</structname> provides access to
run-time parameters of the server. It is essentially an alternative
- interface to the <xref linkend="sql-show"/>
- and <xref linkend="sql-set"/> commands.
+ interface to the <link linkend="sql-show"><command>SHOW</command></link>
+ and <link linkend="sql-set"><command>SET</command></link> commands.
It also provides access to some facts about each parameter that are
- not directly available from <command>SHOW</command>, such as minimum and
+ not directly available from <link linkend="sql-show"><command>SHOW</command></link>, such as minimum and
maximum values.
</para>
@@ -12116,7 +12116,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>reset_val</structfield> <type>text</type>
</para>
<para>
- Value that <xref linkend="sql-reset"/> would reset the parameter to
+ Value that <link linkend="sql-reset"><command>RESET</command></link> would reset the parameter to
in the current session
</para></entry>
</row>
@@ -12249,7 +12249,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<listitem>
<para>
These settings can be set from <filename>postgresql.conf</filename>,
- or within a session via the <xref linkend="sql-set"/> command; but only superusers
+ or within a session via the <command>SET</command> command; but only superusers
can change them via <command>SET</command>. Changes in
<filename>postgresql.conf</filename> will affect existing sessions
only if no session-local value has been established with <command>SET</command>.
@@ -12262,7 +12262,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<listitem>
<para>
These settings can be set from <filename>postgresql.conf</filename>,
- or within a session via the <xref linkend="sql-set"/> command. Any user is
+ or within a session via the <command>SET</command> command. Any user is
allowed to change their session-local value. Changes in
<filename>postgresql.conf</filename> will affect existing sessions
only if no session-local value has been established with <command>SET</command>.
@@ -12278,9 +12278,9 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<para>
The <structname>pg_settings</structname> view cannot be inserted into or
- deleted from, but it can be updated. An <xref linkend="sql-update"/> applied
+ deleted from, but it can be updated. An <command>UPDATE</command> applied
to a row of <structname>pg_settings</structname> is equivalent to executing
- the <xref linkend="sql-set"/> command on that named
+ the <command>SET</command> command on that named
parameter. The change only affects the value used by the current
session. If an <command>UPDATE</command> is issued within a transaction
that is later aborted, the effects of the <command>UPDATE</command> command
@@ -12622,7 +12622,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
If greater than zero, the estimated number of distinct values in the
column. If less than zero, the negative of the number of distinct
values divided by the number of rows. (The negated form is used when
- <xref linkend="sql-analyze"/> believes that the number of distinct values is
+ <command>ANALYZE</command> believes that the number of distinct values is
likely to increase as the table grows; the positive form is used when
the column seems to have a fixed number of possible values.) For
example, -1 indicates a unique column in which the number of distinct
@@ -12846,7 +12846,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
than zero, the estimated number of distinct values in the combination.
If less than zero, the negative of the number of distinct values divided
by the number of rows.
- (The negated form is used when <xref linkend="sql-analyze"/> 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 positive form is used when the column seems to have a fixed number
of possible values.) For example, -1 indicates a unique combination of
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 06405f359cd..ee914740cc4 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -189,7 +189,7 @@ shared_buffers = 128MB
<filename>postgresql.auto.conf</filename><indexterm><primary>postgresql.auto.conf</primary></indexterm>,
which has the same format as <filename>postgresql.conf</filename> but
is intended to be edited automatically, not manually. This file holds
- settings provided through the <xref linkend="sql-altersystem"/> command.
+ settings provided through the <link linkend="sql-altersystem"><command>ALTER SYSTEM</command></link> command.
This file is read whenever <filename>postgresql.conf</filename> is,
and its settings take effect in the same way. Settings
in <filename>postgresql.auto.conf</filename> override those
@@ -221,7 +221,7 @@ shared_buffers = 128MB
<para>
<productname>PostgreSQL</productname> provides three SQL
commands to establish configuration defaults.
- The already-mentioned <xref linkend="sql-altersystem"/> command
+ The already-mentioned <command>ALTER SYSTEM</command> command
provides a SQL-accessible means of changing global defaults; it is
functionally equivalent to editing <filename>postgresql.conf</filename>.
In addition, there are two commands that allow setting of defaults
@@ -231,14 +231,14 @@ shared_buffers = 128MB
<itemizedlist>
<listitem>
<para>
- The <xref linkend="sql-alterdatabase"/> command allows global
+ The <link linkend="sql-alterdatabase"><command>ALTER DATABASE</command></link> command allows global
settings to be overridden on a per-database basis.
</para>
</listitem>
<listitem>
<para>
- The <xref linkend="sql-alterrole"/> command allows both global and
+ The <link linkend="sql-alterrole"><command>ALTER ROLE</command></link> command allows both global and
per-database settings to be overridden with user-specific values.
</para>
</listitem>
@@ -262,7 +262,7 @@ shared_buffers = 128MB
<itemizedlist>
<listitem>
<para>
- The <xref linkend="sql-show"/> command allows inspection of the
+ The <link linkend="sql-show"><command>SHOW</command></link> command allows inspection of the
current value of all parameters. The corresponding function is
<function>current_setting(setting_name text)</function>.
</para>
@@ -270,7 +270,7 @@ shared_buffers = 128MB
<listitem>
<para>
- The <xref linkend="sql-set"/> command allows modification of the
+ The <link linkend="sql-set"><command>SET</command></link> command allows modification of the
current value of those parameters that can be set locally to a
session; it has no effect on other sessions.
The corresponding function is
@@ -296,7 +296,7 @@ shared_buffers = 128MB
<listitem>
<para>
- Using <xref linkend="sql-update"/> on this view, specifically
+ Using <command>UPDATE</command> on this view, specifically
updating the <structname>setting</structname> column, is the equivalent
of issuing <command>SET</command> commands. For example, the equivalent of
<programlisting>
@@ -4608,7 +4608,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
Better ways to improve the quality of the
plans chosen by the optimizer include adjusting the planner cost
constants (see <xref linkend="runtime-config-query-constants"/>),
- running <xref linkend="sql-analyze"/> manually, increasing
+ running <link linkend="sql-analyze"><command>ANALYZE</command></link> manually, increasing
the value of the <xref
linkend="guc-default-statistics-target"/> configuration parameter,
and increasing the amount of statistics collected for
@@ -8095,7 +8095,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
set it to <literal>replica</literal> when they are applying replicated
changes. The effect of that will be that triggers and rules (that
have not been altered from their default configuration) will not fire
- on the replica. See the <xref linkend="sql-altertable"/> clauses
+ on the replica. See the <link linkend="sql-altertable"><command>ALTER TABLE</command></link> clauses
<literal>ENABLE TRIGGER</literal> and <literal>ENABLE RULE</literal>
for more information.
</para>
@@ -8781,7 +8781,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
This variable specifies one or more shared libraries that are to be
preloaded at connection start.
It contains a comma-separated list of library names, where each name
- is interpreted as for the <xref linkend="sql-load"/> command.
+ is interpreted as for the <link linkend="sql-load"><command>LOAD</command></link> command.
Whitespace between entries is ignored; surround a library name with
double quotes if you need to include whitespace or commas in the name.
The parameter value only takes effect at the start of the connection.
@@ -8832,7 +8832,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
This variable specifies one or more shared libraries that are to be
preloaded at connection start.
It contains a comma-separated list of library names, where each name
- is interpreted as for the <xref linkend="sql-load"/> command.
+ is interpreted as for the <link linkend="sql-load"><command>LOAD</command></link> command.
Whitespace between entries is ignored; surround a library name with
double quotes if you need to include whitespace or commas in the name.
The parameter value only takes effect at the start of the connection.
@@ -8874,7 +8874,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
This variable specifies one or more shared libraries to be preloaded at
server start.
It contains a comma-separated list of library names, where each name
- is interpreted as for the <xref linkend="sql-load"/> command.
+ is interpreted as for the <link linkend="sql-load"><command>LOAD</command></link> command.
Whitespace between entries is ignored; surround a library name with
double quotes if you need to include whitespace or commas in the name.
This parameter can only be set at server start. If a specified
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 9fb2be6674f..c4897d68c9b 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1675,12 +1675,12 @@ REVOKE ALL ON accounts FROM PUBLIC;
<term><literal>SELECT</literal></term>
<listitem>
<para>
- Allows <xref linkend="sql-select"/> from
+ Allows <command>SELECT</command> from
any column, or specific column(s), of a table, view, materialized
view, or other table-like object.
- Also allows use of <xref linkend="sql-copy"/> TO.
+ Also allows use of <command>COPY TO</command>.
This privilege is also needed to reference existing column values in
- <xref linkend="sql-update"/> or <xref linkend="sql-delete"/>.
+ <command>UPDATE</command> or <command>DELETE</command>.
For sequences, this privilege also allows use of the
<function>currval</function> function.
For large objects, this privilege allows the object to be read.
@@ -1692,11 +1692,11 @@ REVOKE ALL ON accounts FROM PUBLIC;
<term><literal>INSERT</literal></term>
<listitem>
<para>
- Allows <xref linkend="sql-insert"/> of a new row into a table, view,
+ Allows <command>INSERT</command> of a new row into a table, view,
etc. Can be granted on specific column(s), in which case
only those columns may be assigned to in the <command>INSERT</command>
command (other columns will therefore receive default values).
- Also allows use of <xref linkend="sql-copy"/> FROM.
+ Also allows use of <command>COPY FROM</command>.
</para>
</listitem>
</varlistentry>
@@ -1705,7 +1705,7 @@ REVOKE ALL ON accounts FROM PUBLIC;
<term><literal>UPDATE</literal></term>
<listitem>
<para>
- Allows <xref linkend="sql-update"/> of any
+ Allows <command>UPDATE</command> of any
column, or specific column(s), of a table, view, etc.
(In practice, any nontrivial <command>UPDATE</command> command will
require <literal>SELECT</literal> privilege as well, since it must
@@ -1727,7 +1727,7 @@ REVOKE ALL ON accounts FROM PUBLIC;
<term><literal>DELETE</literal></term>
<listitem>
<para>
- Allows <xref linkend="sql-delete"/> of a row from a table, view, etc.
+ Allows <command>DELETE</command> of a row from a table, view, etc.
(In practice, any nontrivial <command>DELETE</command> command will
require <literal>SELECT</literal> privilege as well, since it must
reference table columns to determine which rows to delete.)
@@ -1739,7 +1739,7 @@ REVOKE ALL ON accounts FROM PUBLIC;
<term><literal>TRUNCATE</literal></term>
<listitem>
<para>
- Allows <xref linkend="sql-truncate"/> on a table, view, etc.
+ Allows <command>TRUNCATE</command> on a table, view, etc.
</para>
</listitem>
</varlistentry>
@@ -3370,11 +3370,11 @@ VALUES ('Albany', NULL, NULL, 'NY');
<para>
Table inheritance is typically established when the child table is
created, using the <literal>INHERITS</literal> clause of the
- <xref linkend="sql-createtable"/>
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link>
statement.
Alternatively, a table which is already defined in a compatible way can
have a new parent relationship added, using the <literal>INHERIT</literal>
- variant of <xref linkend="sql-altertable"/>.
+ variant of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>.
To do this the new child table must already include columns with
the same names and types as the columns of the parent. It must also include
check constraints with the same names and check expressions as those of the
@@ -3406,7 +3406,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
</para>
<para>
- <xref linkend="sql-altertable"/> will
+ <command>ALTER TABLE</command> will
propagate any changes in column data definitions and check
constraints down the inheritance hierarchy. Again, dropping
columns that are depended on by other tables is only possible when using
diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml
index 3844e34a7dc..971e6a36b51 100644
--- a/doc/src/sgml/dml.sgml
+++ b/doc/src/sgml/dml.sgml
@@ -245,7 +245,7 @@ UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a &gt; 0;
<para>
You use the <xref linkend="sql-delete"/>
command to remove rows; the syntax is very similar to the
- <command>UPDATE</command> command. For instance, to remove all
+ <xref linkend="sql-update"/> command. For instance, to remove all
rows from the products table that have a price of 10, use:
<programlisting>
DELETE FROM products WHERE price = 10;
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 7266e229a47..6e3ca788f6e 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -479,10 +479,9 @@ EXEC SQL COMMIT;
</para>
<para>
- For more details about declaration of the cursor,
- see <xref linkend="ecpg-sql-declare"/>, and
- see <xref linkend="sql-fetch"/> for <literal>FETCH</literal> command
- details.
+ For more details about declaring a cursor, see <xref
+ linkend="ecpg-sql-declare"/>; for more details about fetching rows from a
+ cursor, see <xref linkend="sql-fetch"/>.
</para>
<note>
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index e486006224c..1c37026bb05 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -504,7 +504,7 @@ RETURNS anycompatible AS ...
of the extension itself. If the extension includes C code, there
will typically also be a shared library file into which the C code
has been built. Once you have these files, a simple
- <xref linkend="sql-createextension"/> command loads the objects into
+ <link linkend="sql-createextension"><command>CREATE EXTENSION</command></link> command loads the objects into
your database.
</para>
@@ -513,7 +513,7 @@ RETURNS anycompatible AS ...
<acronym>SQL</acronym> script to load a bunch of <quote>loose</quote> objects
into your database, is that <productname>PostgreSQL</productname> will then
understand that the objects of the extension go together. You can
- drop all the objects with a single <xref linkend="sql-dropextension"/>
+ drop all the objects with a single <link linkend="sql-dropextension"><command>DROP EXTENSION</command></link>
command (no need to maintain a separate <quote>uninstall</quote> script).
Even more useful, <application>pg_dump</application> knows that it should not
dump the individual member objects of the extension &mdash; it will
@@ -572,7 +572,7 @@ RETURNS anycompatible AS ...
<para>
The kinds of SQL objects that can be members of an extension are shown in
- the description of <xref linkend="sql-alterextension"/>. Notably, objects
+ the description of <link linkend="sql-alterextension"><command>ALTER EXTENSION</command></link>. Notably, objects
that are database-cluster-wide, such as databases, roles, and tablespaces,
cannot be extension members since an extension is only known within one
database. (Although an extension script is not prohibited from creating
@@ -605,7 +605,7 @@ RETURNS anycompatible AS ...
</indexterm>
<para>
- The <xref linkend="sql-createextension"/> command relies on a control
+ The <command>CREATE EXTENSION</command> command relies on a control
file for each extension, which must be named the same as the extension
with a suffix of <literal>.control</literal>, and must be placed in the
installation's <literal>SHAREDIR/extension</literal> directory. There
@@ -1373,7 +1373,7 @@ include $(PGXS)
<para>
Once the files are installed, use the
- <xref linkend="sql-createextension"/> command to load the objects into
+ <command>CREATE EXTENSION</command> command to load the objects into
any particular database.
</para>
</sect2>
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 87eac7be589..a560ad69b44 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -147,13 +147,13 @@
</para>
<para>
- A publication is created using the <xref linkend="sql-createpublication"/>
+ A publication is created using the <link linkend="sql-createpublication"><command>CREATE PUBLICATION</command></link>
command and may later be altered or dropped using corresponding commands.
</para>
<para>
The individual tables can be added and removed dynamically using
- <xref linkend="sql-alterpublication"/>. Both the <literal>ADD
+ <link linkend="sql-alterpublication"><command>ALTER PUBLICATION</command></link>. Both the <literal>ADD
TABLE</literal> and <literal>DROP TABLE</literal> operations are
transactional; so the table will start or stop replicating at the correct
snapshot once the transaction has committed.
@@ -207,10 +207,10 @@
</para>
<para>
- The subscription is added using <xref linkend="sql-createsubscription"/> and
+ The subscription is added using <link linkend="sql-createsubscription"><command>CREATE SUBSCRIPTION</command></link> and
can be stopped/resumed at any time using the
- <xref linkend="sql-altersubscription"/> command and removed using
- <xref linkend="sql-dropsubscription"/>.
+ <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> command and removed using
+ <link linkend="sql-dropsubscription"><command>DROP SUBSCRIPTION</command></link>.
</para>
<para>
@@ -418,7 +418,7 @@
tables.) Publications can also specify that changes are to be replicated
using the identity and schema of the partitioned root table instead of
that of the individual leaf partitions in which the changes actually
- originate (see <xref linkend="sql-createpublication"/>).
+ originate (see <link linkend="sql-createpublication"><command>CREATE PUBLICATION</command></link>).
</para>
</listitem>
</itemizedlist>
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index de0794adeb9..4d8ad754f85 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -87,7 +87,7 @@
<para>
<productname>PostgreSQL</productname>'s
- <xref linkend="sql-vacuum"/> command has to
+ <link linkend="sql-vacuum"><command>VACUUM</command></link> command has to
process each table on a regular basis for several reasons:
<orderedlist>
@@ -227,9 +227,9 @@
massive update or delete activity. If you have such a table and
you need to reclaim the excess disk space it occupies, you will need
to use <command>VACUUM FULL</command>, or alternatively
- <xref linkend="sql-cluster"/>
+ <link linkend="sql-cluster"><command>CLUSTER</command></link>
or one of the table-rewriting variants of
- <xref linkend="sql-altertable"/>.
+ <link linkend="sql-altertable"><command>ALTER TABLE</command></link>.
These commands rewrite an entire new copy of the table and build
new indexes for it. All these options require exclusive lock. Note that
they also temporarily use extra disk space approximately equal to the size
@@ -242,7 +242,7 @@
<para>
If you have a table whose entire contents are deleted on a periodic
basis, consider doing it with
- <xref linkend="sql-truncate"/> rather
+ <link linkend="sql-truncate"><command>TRUNCATE</command></link> rather
than using <command>DELETE</command> followed by
<command>VACUUM</command>. <command>TRUNCATE</command> removes the
entire content of the table immediately, without requiring a
@@ -269,7 +269,7 @@
The <productname>PostgreSQL</productname> query planner relies on
statistical information about the contents of tables in order to
generate good plans for queries. These statistics are gathered by
- the <xref linkend="sql-analyze"/> command,
+ the <link linkend="sql-analyze"><command>ANALYZE</command></link> command,
which can be invoked by itself or
as an optional step in <command>VACUUM</command>. It is important to have
reasonably accurate statistics, otherwise poor choices of plans might
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 495018009a2..171ba7049c7 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -27,7 +27,7 @@
<command>ps</command>, <command>top</command>, <command>iostat</command>, and <command>vmstat</command>.
Also, once one has identified a
poorly-performing query, further investigation might be needed using
- <productname>PostgreSQL</productname>'s <xref linkend="sql-explain"/> command.
+ <productname>PostgreSQL</productname>'s <link linkend="sql-explain"><command>EXPLAIN</command></link> command.
<xref linkend="using-explain"/> discusses <command>EXPLAIN</command>
and other methods for understanding the behavior of an individual
query.
@@ -5278,8 +5278,8 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid,
<note>
<para>
Note that when <command>ANALYZE</command> is run on a partitioned table,
- all of its partitions are also recursively analyzed as also mentioned in
- <xref linkend="sql-analyze"/>. In that case, <command>ANALYZE</command>
+ all of its partitions are also recursively analyzed.
+ In that case, <command>ANALYZE</command>
progress is reported first for the parent table, whereby its inheritance
statistics are collected, followed by that for each partition.
</para>
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 6920913a260..1d406176568 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -950,10 +950,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
Acquired by <command>VACUUM</command> (without <option>FULL</option>),
<command>ANALYZE</command>, <command>CREATE INDEX CONCURRENTLY</command>,
<command>REINDEX CONCURRENTLY</command>,
- <command>CREATE STATISTICS</command>, and certain <command>ALTER
- INDEX</command> and <command>ALTER TABLE</command> variants (for full
- details see <xref linkend="sql-alterindex"/> and <xref
- linkend="sql-altertable"/>).
+ <command>CREATE STATISTICS</command>, and certain <link linkend="sql-alterindex"><command>ALTER
+ INDEX</command></link> and <link linkend="sql-altertable"><command>ALTER TABLE</command></link> variants (for full
+ details see the documentation of these commands).
</para>
</listitem>
</varlistentry>
@@ -995,7 +994,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
<para>
Acquired by <command>CREATE TRIGGER</command> and some forms of
- <command>ALTER TABLE</command> (see <xref linkend="sql-altertable"/>).
+ <link linkend="sql-altertable"><command>ALTER TABLE</command></link>.
</para>
</listitem>
</varlistentry>
@@ -1723,8 +1722,8 @@ SELECT pg_advisory_lock(q.id) FROM
<title>Caveats</title>
<para>
- Some DDL commands, currently only <xref linkend="sql-truncate"/> and the
- table-rewriting forms of <xref linkend="sql-altertable"/>, are not
+ Some DDL commands, currently only <link linkend="sql-truncate"><command>TRUNCATE</command></link> and the
+ table-rewriting forms of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>, are not
MVCC-safe. This means that after the truncation or rewrite commits, the
table will appear empty to concurrent transactions, if they are using a
snapshot taken before the DDL command committed. This will only be an
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index 1cd9f5092db..117a1f7ff92 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -31,7 +31,7 @@
plan to match the query structure and the properties of the data
is absolutely critical for good performance, so the system includes
a complex <firstterm>planner</firstterm> that tries to choose good plans.
- You can use the <xref linkend="sql-explain"/> command
+ You can use the <link linkend="sql-explain"><command>EXPLAIN</command></link> command
to see what query plan the planner creates for any query.
Plan-reading is an art that requires some experience to master,
but this section attempts to cover the basics.
@@ -1144,7 +1144,7 @@ WHERE tablename = 'road';
<para>
Statistics objects are created using the
- <xref linkend="sql-createstatistics"/> command.
+ <link linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link> command.
Creation of such an object merely creates a catalog entry expressing
interest in the statistics. Actual data collection is performed
by <command>ANALYZE</command> (either a manual command, or background
@@ -1612,7 +1612,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
<title>Use <command>COPY</command></title>
<para>
- Use <xref linkend="sql-copy"/> to load
+ Use <link linkend="sql-copy"><command>COPY</command></link> to load
all the rows in one command, instead of using a series of
<command>INSERT</command> commands. The <command>COPY</command>
command is optimized for loading large numbers of rows; it is less
@@ -1623,8 +1623,8 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
<para>
- If you cannot use <command>COPY</command>, it might help to use <xref
- linkend="sql-prepare"/> to create a
+ If you cannot use <command>COPY</command>, it might help to use <link
+ linkend="sql-prepare"><command>PREPARE</command></link> to create a
prepared <command>INSERT</command> statement, and then use
<command>EXECUTE</command> as many times as required. This avoids
some of the overhead of repeatedly parsing and planning
@@ -1763,7 +1763,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
<para>
Whenever you have significantly altered the distribution of data
- within a table, running <xref linkend="sql-analyze"/> is strongly recommended. This
+ within a table, running <link linkend="sql-analyze"><command>ANALYZE</command></link> is strongly recommended. This
includes bulk loading large amounts of data into the table. Running
<command>ANALYZE</command> (or <command>VACUUM ANALYZE</command>)
ensures that the planner has up-to-date statistics about the
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 815912666dd..c2bb3e32685 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -1299,7 +1299,7 @@ EXECUTE format('SELECT count(*) FROM %I '
<para>
The <application>PL/pgSQL</application>
<command>EXECUTE</command> statement is not related to the
- <xref linkend="sql-execute"/> SQL
+ <link linkend="sql-execute"><command>EXECUTE</command></link> SQL
statement supported by the
<productname>PostgreSQL</productname> server. The server's
<command>EXECUTE</command> statement cannot be used directly within
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 4efaf35d3c4..e6fd2143c10 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -456,14 +456,14 @@ OPTIONS (ADD password_required 'false');
<para>
Note that constraints other than <literal>NOT NULL</literal> will never be
imported from the remote tables. Although <productname>PostgreSQL</productname>
- does support <literal>CHECK</literal> constraints on foreign tables, there is no
+ does support check constraints on foreign tables, there is no
provision for importing them automatically, because of the risk that a
constraint expression could evaluate differently on the local and remote
- servers. Any such inconsistency in the behavior of a <literal>CHECK</literal>
+ servers. Any such inconsistency in the behavior of a check
constraint could lead to hard-to-detect errors in query optimization.
- So if you wish to import <literal>CHECK</literal> constraints, you must do so
+ So if you wish to import check constraints, you must do so
manually, and you should verify the semantics of each one carefully.
- For more detail about the treatment of <literal>CHECK</literal> constraints on
+ For more detail about the treatment of check constraints on
foreign tables, see <xref linkend="sql-createforeigntable"/>.
</para>
@@ -705,7 +705,7 @@ CREATE FOREIGN TABLE foreign_table (
Column names must match as well, unless you attach <literal>column_name</literal>
options to the individual columns to show how they are named in the remote
table.
- In many cases, use of <xref linkend="sql-importforeignschema"/> is
+ In many cases, use of <link linkend="sql-importforeignschema"><command>IMPORT FOREIGN SCHEMA</command></link> is
preferable to constructing foreign table definitions manually.
</para>
</sect2>
diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml
index 0a643ef5970..875a4d84de0 100644
--- a/doc/src/sgml/queries.sgml
+++ b/doc/src/sgml/queries.sgml
@@ -24,7 +24,7 @@
<para>
The process of retrieving or the command to retrieve data from a
database is called a <firstterm>query</firstterm>. In SQL the
- <xref linkend="sql-select"/> command is
+ <link linkend="sql-select"><command>SELECT</command></link> command is
used to specify queries. The general syntax of the
<command>SELECT</command> command is
<synopsis>
diff --git a/doc/src/sgml/ref/abort.sgml b/doc/src/sgml/ref/abort.sgml
index 03729133651..16b5602487d 100644
--- a/doc/src/sgml/ref/abort.sgml
+++ b/doc/src/sgml/ref/abort.sgml
@@ -33,7 +33,7 @@ ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
all the updates made by the transaction to be discarded.
This command is identical
in behavior to the standard <acronym>SQL</acronym> command
- <xref linkend="sql-rollback"/>,
+ <link linkend="sql-rollback"><command>ROLLBACK</command></link>,
and is present only for historical reasons.
</para>
</refsect1>
@@ -57,8 +57,8 @@ ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
<listitem>
<para>
If <literal>AND CHAIN</literal> is specified, a new transaction is
- immediately started with the same transaction characteristics (see <xref
- linkend="sql-set-transaction"/>) as the just finished one. Otherwise,
+ immediately started with the same transaction characteristics (see <link
+ linkend="sql-set-transaction"><command>SET TRANSACTION</command></link>) as the just finished one. Otherwise,
no new transaction is started.
</para>
</listitem>
@@ -70,7 +70,7 @@ ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
<title>Notes</title>
<para>
- Use <xref linkend="sql-commit"/> to
+ Use <link linkend="sql-commit"><command>COMMIT</command></link> to
successfully terminate a transaction.
</para>
diff --git a/doc/src/sgml/ref/alter_aggregate.sgml b/doc/src/sgml/ref/alter_aggregate.sgml
index 95934a100f8..aee10a5ca2e 100644
--- a/doc/src/sgml/ref/alter_aggregate.sgml
+++ b/doc/src/sgml/ref/alter_aggregate.sgml
@@ -142,7 +142,7 @@ ALTER AGGREGATE <replaceable>name</replaceable> ( <replaceable>aggregate_signatu
The recommended syntax for referencing an ordered-set aggregate
is to write <literal>ORDER BY</literal> between the direct and aggregated
argument specifications, in the same style as in
- <xref linkend="sql-createaggregate"/>. However, it will also work to
+ <link linkend="sql-createaggregate"><command>CREATE AGGREGATE</command></link>. However, it will also work to
omit <literal>ORDER BY</literal> and just run the direct and aggregated
argument specifications into a single list. In this abbreviated form,
if <literal>VARIADIC "any"</literal> was used in both the direct and
diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml
index afa42b4926f..2db53725139 100644
--- a/doc/src/sgml/ref/alter_domain.sgml
+++ b/doc/src/sgml/ref/alter_domain.sgml
@@ -80,7 +80,7 @@ ALTER DOMAIN <replaceable class="parameter">name</replaceable>
<listitem>
<para>
This form adds a new constraint to a domain using the same syntax as
- <xref linkend="sql-createdomain"/>.
+ <link linkend="sql-createdomain"><command>CREATE DOMAIN</command></link>.
When a new constraint is added to a domain, all columns using that
domain will be checked against the newly added constraint. These
checks can be suppressed by adding the new constraint using the
diff --git a/doc/src/sgml/ref/alter_foreign_table.sgml b/doc/src/sgml/ref/alter_foreign_table.sgml
index 04d53628ec2..7ca03f3ac9f 100644
--- a/doc/src/sgml/ref/alter_foreign_table.sgml
+++ b/doc/src/sgml/ref/alter_foreign_table.sgml
@@ -71,7 +71,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<listitem>
<para>
This form adds a new column to the foreign table, using the same syntax as
- <xref linkend="sql-createforeigntable"/>.
+ <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE</command></link>.
Unlike the case when adding a column to a regular table, nothing happens
to the underlying storage: this action simply declares that
some new column is now accessible through the foreign table.
@@ -133,8 +133,8 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<para>
This form
sets the per-column statistics-gathering target for subsequent
- <xref linkend="sql-analyze"/> operations.
- See the similar form of <xref linkend="sql-altertable"/>
+ <link linkend="sql-analyze"><command>ANALYZE</command></link> operations.
+ See the similar form of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>
for more details.
</para>
</listitem>
@@ -146,7 +146,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<listitem>
<para>
This form sets or resets per-attribute options.
- See the similar form of <xref linkend="sql-altertable"/>
+ See the similar form of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>
for more details.
</para>
</listitem>
@@ -159,7 +159,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<listitem>
<para>
This form sets the storage mode for a column.
- See the similar form of <xref linkend="sql-altertable"/>
+ See the similar form of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>
for more details.
Note that the storage mode has no effect unless the table's
foreign-data wrapper chooses to pay attention to it.
@@ -172,7 +172,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<listitem>
<para>
This form adds a new constraint to a foreign table, using the same
- syntax as <xref linkend="sql-createforeigntable"/>.
+ syntax as <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE</command></link>.
Currently only <literal>CHECK</literal> constraints are supported.
</para>
@@ -181,7 +181,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
done to verify the constraint is correct; rather, this action simply
declares that some new condition should be assumed to hold for all rows
in the foreign table. (See the discussion
- in <xref linkend="sql-createforeigntable"/>.)
+ in <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE</command></link>.)
If the constraint is marked <literal>NOT VALID</literal>, then it isn't
assumed to hold, but is only recorded for possible future use.
</para>
@@ -216,7 +216,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<listitem>
<para>
These forms configure the firing of trigger(s) belonging to the foreign
- table. See the similar form of <xref linkend="sql-altertable"/> for more
+ table. See the similar form of <link linkend="sql-altertable"><command>ALTER TABLE</command></link> for more
details.
</para>
</listitem>
@@ -239,7 +239,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
<para>
This form adds the target foreign table as a new child of the specified
parent table.
- See the similar form of <xref linkend="sql-altertable"/>
+ See the similar form of <link linkend="sql-altertable"><command>ALTER TABLE</command></link>
for more details.
</para>
</listitem>
@@ -503,7 +503,7 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceab
</para>
<para>
- Refer to <xref linkend="sql-createforeigntable"/> for a further description of valid
+ Refer to <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE</command></link> for a further description of valid
parameters.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/alter_group.sgml b/doc/src/sgml/ref/alter_group.sgml
index f6e51631099..fa4a8df9124 100644
--- a/doc/src/sgml/ref/alter_group.sgml
+++ b/doc/src/sgml/ref/alter_group.sgml
@@ -51,14 +51,14 @@ ALTER GROUP <replaceable class="parameter">group_name</replaceable> RENAME TO <r
<quote>group</quote> for this purpose.) These variants are effectively
equivalent to granting or revoking membership in the role named as the
<quote>group</quote>; so the preferred way to do this is to use
- <xref linkend="sql-grant"/> or
- <xref linkend="sql-revoke"/>.
+ <link linkend="sql-grant"><command>GRANT</command></link> or
+ <link linkend="sql-revoke"><command>REVOKE</command></link>.
</para>
<para>
The third variant changes the name of the group. This is exactly
equivalent to renaming the role with
- <xref linkend="sql-alterrole"/>.
+ <link linkend="sql-alterrole"><command>ALTER ROLE</command></link>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/alter_index.sgml b/doc/src/sgml/ref/alter_index.sgml
index a5e3b06ee49..793119d2fc1 100644
--- a/doc/src/sgml/ref/alter_index.sgml
+++ b/doc/src/sgml/ref/alter_index.sgml
@@ -81,7 +81,7 @@ ALTER INDEX ALL IN TABLESPACE <replaceable class="parameter">name</replaceable>
this command, use <command>ALTER DATABASE</command> or explicit
<command>ALTER INDEX</command> invocations instead if desired.
See also
- <xref linkend="sql-createtablespace"/>.
+ <link linkend="sql-createtablespace"><command>CREATE TABLESPACE</command></link>.
</para>
</listitem>
</varlistentry>
@@ -118,11 +118,11 @@ ALTER INDEX ALL IN TABLESPACE <replaceable class="parameter">name</replaceable>
<para>
This form changes one or more index-method-specific storage parameters
for the index. See
- <xref linkend="sql-createindex"/>
+ <link linkend="sql-createindex"><command>CREATE INDEX</command></link>
for details on the available parameters. Note that the index contents
will not be modified immediately by this command; depending on the
parameter you might need to rebuild the index with
- <xref linkend="sql-reindex"/>
+ <link linkend="sql-reindex"><command>REINDEX</command></link>
to get the desired effects.
</para>
</listitem>
@@ -144,7 +144,7 @@ ALTER INDEX ALL IN TABLESPACE <replaceable class="parameter">name</replaceable>
<listitem>
<para>
This form sets the per-column statistics-gathering target for
- subsequent <xref linkend="sql-analyze"/> operations, though can
+ subsequent <link linkend="sql-analyze"><command>ANALYZE</command></link> operations, though can
be used only on index columns that are defined as an expression.
Since expressions lack a unique name, we refer to them using the
ordinal number of the index column.
@@ -252,7 +252,7 @@ ALTER INDEX ALL IN TABLESPACE <replaceable class="parameter">name</replaceable>
<para>
These operations are also possible using
- <xref linkend="sql-altertable"/>.
+ <link linkend="sql-altertable"><command>ALTER TABLE</command></link>.
<command>ALTER INDEX</command> is in fact just an alias for the forms
of <command>ALTER TABLE</command> that apply to indexes.
</para>
diff --git a/doc/src/sgml/ref/alter_materialized_view.sgml b/doc/src/sgml/ref/alter_materialized_view.sgml
index 78ee99bb9ca..bf379db77e3 100644
--- a/doc/src/sgml/ref/alter_materialized_view.sgml
+++ b/doc/src/sgml/ref/alter_materialized_view.sgml
@@ -72,7 +72,8 @@ ALTER MATERIALIZED VIEW ALL IN TABLESPACE <replaceable class="parameter">name</r
The statement subforms and actions available for
<command>ALTER MATERIALIZED VIEW</command> are a subset of those available
for <command>ALTER TABLE</command>, and have the same meaning when used for
- materialized views. See the descriptions for <xref linkend="sql-altertable"/>
+ materialized views. See the descriptions for
+ <link linkend="sql-altertable"><command>ALTER TABLE</command></link>
for details.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/alter_role.sgml b/doc/src/sgml/ref/alter_role.sgml
index d5f166c129b..aef30521bcc 100644
--- a/doc/src/sgml/ref/alter_role.sgml
+++ b/doc/src/sgml/ref/alter_role.sgml
@@ -63,11 +63,11 @@ ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | A
<para>
The first variant of this command listed in the synopsis can change
many of the role attributes that can be specified in
- <xref linkend="sql-createrole"/>.
+ <link linkend="sql-createrole"><command>CREATE ROLE</command></link>.
(All the possible attributes are covered,
except that there are no options for adding or removing memberships; use
- <xref linkend="sql-grant"/> and
- <xref linkend="sql-revoke"/> for that.)
+ <link linkend="sql-grant"><command>GRANT</command></link> and
+ <link linkend="sql-revoke"><command>REVOKE</command></link> for that.)
Attributes not mentioned in the command retain their previous settings.
Database superusers can change any of these settings for any role.
Roles having <literal>CREATEROLE</literal> privilege can change any of these
@@ -103,8 +103,8 @@ ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | A
default, overriding whatever setting is present in
<filename>postgresql.conf</filename> or has been received from the <command>postgres</command>
command line. This only happens at login time; executing
- <xref linkend="sql-set-role"/> or
- <xref linkend="sql-set-session-authorization"/> does not cause new
+ <link linkend="sql-set-role"><command>SET ROLE</command></link> or
+ <link linkend="sql-set-session-authorization"><command>SET SESSION AUTHORIZATION</command></link> does not cause new
configuration values to be set.
Settings set for all databases are overridden by database-specific settings
attached to a role. Settings for specific databases or specific roles override
@@ -176,7 +176,7 @@ ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | A
<listitem>
<para>
These clauses alter attributes originally set by
- <xref linkend="sql-createrole"/>. For more information, see the
+ <link linkend="sql-createrole"><command>CREATE ROLE</command></link>. For more information, see the
<command>CREATE ROLE</command> reference page.
</para>
</listitem>
@@ -220,8 +220,8 @@ ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | A
<para>
Role-specific variable settings take effect only at login;
- <xref linkend="sql-set-role"/> and
- <xref linkend="sql-set-session-authorization"/>
+ <link linkend="sql-set-role"><command>SET ROLE</command></link> and
+ <link linkend="sql-set-session-authorization"><command>SET SESSION AUTHORIZATION</command></link>
do not process role-specific variable settings.
</para>
@@ -239,14 +239,14 @@ ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | A
<title>Notes</title>
<para>
- Use <xref linkend="sql-createrole"/>
- to add new roles, and <xref linkend="sql-droprole"/> to remove a role.
+ Use <link linkend="sql-createrole"><command>CREATE ROLE</command></link>
+ to add new roles, and <link linkend="sql-droprole"><command>DROP ROLE</command></link> to remove a role.
</para>
<para>
<command>ALTER ROLE</command> cannot change a role's memberships.
- Use <xref linkend="sql-grant"/> and
- <xref linkend="sql-revoke"/>
+ Use <link linkend="sql-grant"><command>GRANT</command></link> and
+ <link linkend="sql-revoke"><command>REVOKE</command></link>
to do that.
</para>
diff --git a/doc/src/sgml/ref/alter_statistics.sgml b/doc/src/sgml/ref/alter_statistics.sgml
index 5f60ca8eac2..ce6cdf2bb1e 100644
--- a/doc/src/sgml/ref/alter_statistics.sgml
+++ b/doc/src/sgml/ref/alter_statistics.sgml
@@ -99,7 +99,7 @@ ALTER STATISTICS <replaceable class="parameter">name</replaceable> SET STATISTIC
<listitem>
<para>
The statistic-gathering target for this statistics object for subsequent
- <xref linkend="sql-analyze"/> operations.
+ <link linkend="sql-analyze"><command>ANALYZE</command></link> operations.
The target can be set in the range 0 to 10000; alternatively, set it
to -1 to revert to using the maximum of the statistics target of the
referenced columns, if set, or the system default statistics
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index f034e75ec09..c25ef5abd6a 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -152,7 +152,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
This form adds a new column to the table, using the same syntax as
- <xref linkend="sql-createtable"/>. If <literal>IF NOT EXISTS</literal>
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link>. If <literal>IF NOT EXISTS</literal>
is specified and a column already exists with this name,
no error is thrown.
</para>
@@ -268,7 +268,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
These forms change whether a column is an identity column or change the
generation attribute of an existing identity column.
- See <xref linkend="sql-createtable"/> for details.
+ See <link linkend="sql-createtable"><command>CREATE TABLE</command></link> for details.
Like <literal>SET DEFAULT</literal>, these forms only affect the
behavior of subsequent <command>INSERT</command>
and <command>UPDATE</command> commands; they do not cause rows
@@ -290,7 +290,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
These forms alter the sequence that underlies an existing identity
column. <replaceable>sequence_option</replaceable> is an option
- supported by <xref linkend="sql-altersequence"/> such
+ supported by <link linkend="sql-altersequence"><command>ALTER SEQUENCE</command></link> such
as <literal>INCREMENT BY</literal>.
</para>
</listitem>
@@ -302,7 +302,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
This form
sets the per-column statistics-gathering target for subsequent
- <xref linkend="sql-analyze"/> operations.
+ <link linkend="sql-analyze"><command>ANALYZE</command></link> operations.
The target can be set in the range 0 to 10000; alternatively, set it
to -1 to revert to using the system default statistics
target (<xref linkend="guc-default-statistics-target"/>).
@@ -326,7 +326,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
defined per-attribute options are <literal>n_distinct</literal> and
<literal>n_distinct_inherited</literal>, which override the
number-of-distinct-values estimates made by subsequent
- <xref linkend="sql-analyze"/>
+ <link linkend="sql-analyze"><command>ANALYZE</command></link>
operations. <literal>n_distinct</literal> affects the statistics for the table
itself, while <literal>n_distinct_inherited</literal> affects the statistics
gathered for the table plus its inheritance children. When set to a
@@ -388,7 +388,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
This form adds a new constraint to a table using the same constraint
- syntax as <xref linkend="sql-createtable"/>, plus the option <literal>NOT
+ syntax as <link linkend="sql-createtable"><command>CREATE TABLE</command></link>, plus the option <literal>NOT
VALID</literal>, which is currently only allowed for foreign key
and CHECK constraints.
</para>
@@ -422,7 +422,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
Additional restrictions apply when unique or primary key constraints
- are added to partitioned tables; see <xref linkend="sql-createtable"/>.
+ are added to partitioned tables; see <link linkend="sql-createtable"><command>CREATE TABLE</command></link>.
Also, foreign key constraints on partitioned
tables may not be declared <literal>NOT VALID</literal> at present.
</para>
@@ -598,7 +598,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
even if row level security is disabled. In this case, the policies will
<emphasis>not</emphasis> be applied and the policies will be ignored.
See also
- <xref linkend="sql-createpolicy"/>.
+ <link linkend="sql-createpolicy"><command>CREATE POLICY</command></link>.
</para>
</listitem>
</varlistentry>
@@ -613,7 +613,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
disabled (the default) then row level security will not be applied when
the user is the table owner.
See also
- <xref linkend="sql-createpolicy"/>.
+ <link linkend="sql-createpolicy"><command>CREATE POLICY</command></link>.
</para>
</listitem>
</varlistentry>
@@ -623,7 +623,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
This form selects the default index for future
- <xref linkend="sql-cluster"/>
+ <link linkend="sql-cluster"><command>CLUSTER</command></link>
operations. It does not actually re-cluster the table.
</para>
<para>
@@ -637,7 +637,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
This form removes the most recently used
- <xref linkend="sql-cluster"/>
+ <link linkend="sql-cluster"><command>CLUSTER</command></link>
index specification from the table. This affects
future cluster operations that don't specify an index.
</para>
@@ -685,7 +685,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<literal>information_schema</literal> relations are not considered part
of the system catalogs and will be moved.
See also
- <xref linkend="sql-createtablespace"/>.
+ <link linkend="sql-createtablespace"><command>CREATE TABLESPACE</command></link>.
</para>
</listitem>
</varlistentry>
@@ -707,12 +707,12 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
This form changes one or more storage parameters for the table. See
<xref linkend="sql-createtable-storage-parameters"/> in the
- <xref linkend="sql-createtable"/> documentation
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link> documentation
for details on the available parameters. Note that the table contents
will not be modified immediately by this command; depending on the
parameter you might need to rewrite the table to get the desired effects.
- That can be done with <link linkend="sql-vacuum">VACUUM
- FULL</link>, <xref linkend="sql-cluster"/> or one of the forms
+ That can be done with <link linkend="sql-vacuum"><command>VACUUM
+ FULL</command></link>, <link linkend="sql-cluster"><command>CLUSTER</command></link> or one of the forms
of <command>ALTER TABLE</command> that forces a table rewrite.
For planner related parameters, changes will take effect from the next
time the table is locked so currently executing queries will not be
@@ -878,7 +878,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<para>
A partition using <literal>FOR VALUES</literal> uses same syntax for
<replaceable class="parameter">partition_bound_spec</replaceable> as
- <xref linkend="sql-createtable"/>. The partition bound specification
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link>. The partition bound specification
must correspond to the partitioning strategy and partition key of the
target table. The table to be attached must have all the same columns
as the target table and no more; moreover, the column types must also
diff --git a/doc/src/sgml/ref/alter_trigger.sgml b/doc/src/sgml/ref/alter_trigger.sgml
index 6d4784c82f1..43a7da4f0bc 100644
--- a/doc/src/sgml/ref/alter_trigger.sgml
+++ b/doc/src/sgml/ref/alter_trigger.sgml
@@ -93,7 +93,7 @@ ALTER TRIGGER <replaceable class="parameter">name</replaceable> ON <replaceable
<para>
The ability to temporarily enable or disable a trigger is provided by
- <xref linkend="sql-altertable"/>, not by
+ <link linkend="sql-altertable"><command>ALTER TABLE</command></link>, not by
<command>ALTER TRIGGER</command>, because <command>ALTER TRIGGER</command> has no
convenient way to express the option of enabling or disabling all of
a table's triggers at once.
diff --git a/doc/src/sgml/ref/alter_type.sgml b/doc/src/sgml/ref/alter_type.sgml
index a4f09c660be..64bf266373d 100644
--- a/doc/src/sgml/ref/alter_type.sgml
+++ b/doc/src/sgml/ref/alter_type.sgml
@@ -90,7 +90,7 @@ ALTER TYPE <replaceable class="parameter">name</replaceable> SET ( <replaceable
<listitem>
<para>
This form adds a new attribute to a composite type, using the same syntax as
- <xref linkend="sql-createtype"/>.
+ <link linkend="sql-createtype"><command>CREATE TYPE</command></link>.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/alter_user.sgml b/doc/src/sgml/ref/alter_user.sgml
index 51527cefb4c..0ee89f54c5c 100644
--- a/doc/src/sgml/ref/alter_user.sgml
+++ b/doc/src/sgml/ref/alter_user.sgml
@@ -57,7 +57,7 @@ ALTER USER { <replaceable class="parameter">role_specification</replaceable> | A
<para>
<command>ALTER USER</command> is now an alias for
- <xref linkend="sql-alterrole"/>.
+ <link linkend="sql-alterrole"><command>ALTER ROLE</command></link>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml
index 5ac3ba83219..7d816c87c60 100644
--- a/doc/src/sgml/ref/analyze.sgml
+++ b/doc/src/sgml/ref/analyze.sgml
@@ -174,7 +174,7 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea
just after making major changes in the contents of a table. Accurate
statistics will help the planner to choose the most appropriate query
plan, and thereby improve the speed of query processing. A common
- strategy for read-mostly databases is to run <xref linkend="sql-vacuum"/>
+ strategy for read-mostly databases is to run <link linkend="sql-vacuum"><command>VACUUM</command></link>
and <command>ANALYZE</command> once a day during a low-usage time of day.
(This will not be sufficient if there is heavy update activity.)
</para>
@@ -205,7 +205,7 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea
will change slightly each time <command>ANALYZE</command> is run,
even if the actual table contents did not change. This might result
in small changes in the planner's estimated costs shown by
- <xref linkend="sql-explain"/>.
+ <link linkend="sql-explain"><command>EXPLAIN</command></link>.
In rare situations, this non-determinism will cause the planner's
choices of query plans to change after <command>ANALYZE</command> is run.
To avoid this, raise the amount of statistics collected by
@@ -216,8 +216,8 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea
The extent of analysis can be controlled by adjusting the
<xref linkend="guc-default-statistics-target"/> configuration variable, or
on a column-by-column basis by setting the per-column statistics
- target with <command>ALTER TABLE ... ALTER COLUMN ... SET
- STATISTICS</command> (see <xref linkend="sql-altertable"/>).
+ target with <link linkend="sql-altertable"><command>ALTER TABLE ... ALTER COLUMN ... SET
+ STATISTICS</command></link>.
The target value sets the
maximum number of entries in the most-common-value list and the
maximum number of bins in the histogram. The default target value
@@ -246,8 +246,7 @@ ANALYZE [ VERBOSE ] [ <replaceable class="parameter">table_and_columns</replacea
with the largest possible statistics target. If this inaccuracy leads to
bad query plans, a more accurate value can be determined manually and then
installed with
- <command>ALTER TABLE ... ALTER COLUMN ... SET (n_distinct = ...)</command>
- (see <xref linkend="sql-altertable"/>).
+ <link linkend="sql-altertable"><command>ALTER TABLE ... ALTER COLUMN ... SET (n_distinct = ...)</command></link>.
</para>
<para>
diff --git a/doc/src/sgml/ref/begin.sgml b/doc/src/sgml/ref/begin.sgml
index c23bbfb4e71..016b0214874 100644
--- a/doc/src/sgml/ref/begin.sgml
+++ b/doc/src/sgml/ref/begin.sgml
@@ -37,9 +37,9 @@ BEGIN [ WORK | TRANSACTION ] [ <replaceable class="parameter">transaction_mode</
<para>
<command>BEGIN</command> initiates a transaction block, that is,
all statements after a <command>BEGIN</command> command will be
- executed in a single transaction until an explicit <xref
- linkend="sql-commit"/> or <xref
- linkend="sql-rollback"/> is given.
+ executed in a single transaction until an explicit <link
+ linkend="sql-commit"><command>COMMIT</command></link> or <link
+ linkend="sql-rollback"><command>ROLLBACK</command></link> is given.
By default (without <command>BEGIN</command>),
<productname>PostgreSQL</productname> executes
transactions in <quote>autocommit</quote> mode, that is, each
@@ -60,7 +60,7 @@ BEGIN [ WORK | TRANSACTION ] [ <replaceable class="parameter">transaction_mode</
<para>
If the isolation level, read/write mode, or deferrable mode is specified, the new
transaction has those characteristics, as if
- <xref linkend="sql-set-transaction"/>
+ <link linkend="sql-set-transaction"><command>SET TRANSACTION</command></link>
was executed.
</para>
</refsect1>
@@ -90,13 +90,13 @@ BEGIN [ WORK | TRANSACTION ] [ <replaceable class="parameter">transaction_mode</
<title>Notes</title>
<para>
- <xref linkend="sql-start-transaction"/> has the same functionality
+ <link linkend="sql-start-transaction"><command>START TRANSACTION</command></link> has the same functionality
as <command>BEGIN</command>.
</para>
<para>
- Use <xref linkend="sql-commit"/> or
- <xref linkend="sql-rollback"/>
+ Use <link linkend="sql-commit"><command>COMMIT</command></link> or
+ <link linkend="sql-rollback"><command>ROLLBACK</command></link>
to terminate a transaction block.
</para>
@@ -131,7 +131,7 @@ BEGIN;
<para>
<command>BEGIN</command> is a <productname>PostgreSQL</productname>
language extension. It is equivalent to the SQL-standard command
- <xref linkend="sql-start-transaction"/>, whose reference page
+ <link linkend="sql-start-transaction"><command>START TRANSACTION</command></link>, whose reference page
contains additional compatibility information.
</para>
diff --git a/doc/src/sgml/ref/close.sgml b/doc/src/sgml/ref/close.sgml
index e464df1965d..32d20edd6aa 100644
--- a/doc/src/sgml/ref/close.sgml
+++ b/doc/src/sgml/ref/close.sgml
@@ -84,7 +84,7 @@ CLOSE { <replaceable class="parameter">name</replaceable> | ALL }
<productname>PostgreSQL</productname> does not have an explicit
<command>OPEN</command> cursor statement; a cursor is considered
open when it is declared. Use the
- <xref linkend="sql-declare"/>
+ <link linkend="sql-declare"><command>DECLARE</command></link>
statement to declare a cursor.
</para>
diff --git a/doc/src/sgml/ref/cluster.sgml b/doc/src/sgml/ref/cluster.sgml
index 4da60d8d56a..b9450e7366a 100644
--- a/doc/src/sgml/ref/cluster.sgml
+++ b/doc/src/sgml/ref/cluster.sgml
@@ -57,7 +57,7 @@ CLUSTER [VERBOSE]
<command>CLUSTER <replaceable class="parameter">table_name</replaceable></command>
reclusters the table using the same index as before. You can also
use the <literal>CLUSTER</literal> or <literal>SET WITHOUT CLUSTER</literal>
- forms of <xref linkend="sql-altertable"/> to set the index to be used for
+ forms of <link linkend="sql-altertable"><command>ALTER TABLE</command></link> to set the index to be used for
future cluster operations, or to clear any previous setting.
</para>
@@ -159,7 +159,7 @@ CLUSTER [VERBOSE]
<para>
Because the planner records statistics about the ordering of
- tables, it is advisable to run <xref linkend="sql-analyze"/>
+ tables, it is advisable to run <link linkend="sql-analyze"><command>ANALYZE</command></link>
on the newly clustered table.
Otherwise, the planner might make poor choices of query plans.
</para>
diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml
index 18189abc6c9..369342b74d5 100644
--- a/doc/src/sgml/ref/copy.sgml
+++ b/doc/src/sgml/ref/copy.sgml
@@ -112,9 +112,11 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable
<term><replaceable class="parameter">query</replaceable></term>
<listitem>
<para>
- A <xref linkend="sql-select"/>, <xref linkend="sql-values"/>,
- <xref linkend="sql-insert"/>, <xref linkend="sql-update"/> or
- <xref linkend="sql-delete"/> command whose results are to be
+ A <link linkend="sql-select"><command>SELECT</command></link>,
+ <link linkend="sql-values"><command>VALUES</command></link>,
+ <link linkend="sql-insert"><command>INSERT</command></link>,
+ <link linkend="sql-update"><command>UPDATE</command></link>, or
+ <link linkend="sql-delete"><command>DELETE</command></link> command whose results are to be
copied. Note that parentheses are required around the query.
</para>
<para>
diff --git a/doc/src/sgml/ref/create_aggregate.sgml b/doc/src/sgml/ref/create_aggregate.sgml
index a315fff8bd3..222e0aa5c9d 100644
--- a/doc/src/sgml/ref/create_aggregate.sgml
+++ b/doc/src/sgml/ref/create_aggregate.sgml
@@ -629,7 +629,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1;
<para>
The meanings of <literal>PARALLEL SAFE</literal>, <literal>PARALLEL
RESTRICTED</literal>, and <literal>PARALLEL UNSAFE</literal> are the same as
- in <xref linkend="sql-createfunction"/>. An aggregate will not be
+ in <link linkend="sql-createfunction"><command>CREATE FUNCTION</command></link>. An aggregate will not be
considered for parallelization if it is marked <literal>PARALLEL
UNSAFE</literal> (which is the default!) or <literal>PARALLEL RESTRICTED</literal>.
Note that the parallel-safety markings of the aggregate's support
diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml
index 2b4d4d55732..bad75bc1dce 100644
--- a/doc/src/sgml/ref/create_cast.sgml
+++ b/doc/src/sgml/ref/create_cast.sgml
@@ -304,7 +304,7 @@ SELECT CAST ( 2 AS numeric ) + 4.0;
<title>Notes</title>
<para>
- Use <xref linkend="sql-dropcast"/> to remove user-defined casts.
+ Use <link linkend="sql-dropcast"><command>DROP CAST</command></link> to remove user-defined casts.
</para>
<para>
diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index 420576c5e83..41cb4068ec2 100644
--- a/doc/src/sgml/ref/create_database.sgml
+++ b/doc/src/sgml/ref/create_database.sgml
@@ -226,7 +226,7 @@ CREATE DATABASE <replaceable class="parameter">name</replaceable>
</para>
<para>
- Use <xref linkend="sql-dropdatabase"/> to remove a database.
+ Use <link linkend="sql-dropdatabase"><command>DROP DATABASE</command></link> to remove a database.
</para>
<para>
@@ -235,9 +235,9 @@ CREATE DATABASE <replaceable class="parameter">name</replaceable>
</para>
<para>
- Database-level configuration parameters (set via <xref
- linkend="sql-alterdatabase"/>) and database-level permissions (set via
- <xref linkend="sql-grant"/>) are not copied from the template database.
+ Database-level configuration parameters (set via <link
+ linkend="sql-alterdatabase"><command>ALTER DATABASE</command></link>) and database-level permissions (set via
+ <link linkend="sql-grant"><command>GRANT</command></link>) are not copied from the template database.
</para>
<para>
diff --git a/doc/src/sgml/ref/create_foreign_table.sgml b/doc/src/sgml/ref/create_foreign_table.sgml
index 3ee0f2d635d..f9477efe58d 100644
--- a/doc/src/sgml/ref/create_foreign_table.sgml
+++ b/doc/src/sgml/ref/create_foreign_table.sgml
@@ -159,7 +159,7 @@ CHECK ( <replaceable class="parameter">expression</replaceable> ) [ NO INHERIT ]
tables from which the new foreign table automatically inherits
all columns. Parent tables can be plain tables or foreign tables.
See the similar form of
- <xref linkend="sql-createtable"/> for more details.
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link> for more details.
</para>
</listitem>
</varlistentry>
@@ -171,7 +171,7 @@ CHECK ( <replaceable class="parameter">expression</replaceable> ) [ NO INHERIT ]
This form can be used to create the foreign table as partition of
the given parent table with specified partition bound values.
See the similar form of
- <xref linkend="sql-createtable"/> for more details.
+ <link linkend="sql-createtable"><command>CREATE TABLE</command></link> for more details.
Note that it is currently not allowed to create the foreign table as a
partition of the parent table if there are <literal>UNIQUE</literal>
indexes on the parent table. (See also
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml
index 97285b75784..3c1eaea651c 100644
--- a/doc/src/sgml/ref/create_function.sgml
+++ b/doc/src/sgml/ref/create_function.sgml
@@ -557,7 +557,7 @@ CREATE [ OR REPLACE ] FUNCTION
the SQL function. The string <replaceable
class="parameter">obj_file</replaceable> is the name of the shared
library file containing the compiled C function, and is interpreted
- as for the <xref linkend="sql-load"/> command. The string
+ as for the <link linkend="sql-load"><command>LOAD</command></link> command. The string
<replaceable class="parameter">link_symbol</replaceable> is the
function's link symbol, that is, the name of the function in the C
language source code. If the link symbol is omitted, it is assumed to
diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
index 7fa79f4cbfb..847b8efcf4d 100644
--- a/doc/src/sgml/ref/create_index.sgml
+++ b/doc/src/sgml/ref/create_index.sgml
@@ -779,8 +779,8 @@ Indexes:
</para>
<para>
- Setting a value for <literal>parallel_workers</literal> via <xref
- linkend="sql-altertable"/> directly controls how many parallel
+ Setting a value for <literal>parallel_workers</literal> via <link
+ linkend="sql-altertable"><command>ALTER TABLE</command></link> directly controls how many parallel
worker processes will be requested by a <command>CREATE
INDEX</command> against the table. This bypasses the cost model
completely, and prevents <varname>maintenance_work_mem</varname>
@@ -808,7 +808,7 @@ Indexes:
</para>
<para>
- Use <xref linkend="sql-dropindex"/>
+ Use <link linkend="sql-dropindex"><command>DROP INDEX</command></link>
to remove an index.
</para>
diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml
index 10d1533d6d8..102efe5a6c7 100644
--- a/doc/src/sgml/ref/create_language.sgml
+++ b/doc/src/sgml/ref/create_language.sgml
@@ -137,7 +137,7 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE <replaceable class="pa
<para><replaceable class="parameter">inline_handler</replaceable> is the
name of a previously registered function that will be called
to execute an anonymous code block
- (<xref linkend="sql-do"/> command)
+ (<link linkend="sql-do"><command>DO</command></link> command)
in this language.
If no <replaceable class="parameter">inline_handler</replaceable>
function is specified, the language does not support anonymous code
@@ -183,7 +183,7 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE <replaceable class="pa
<title>Notes</title>
<para>
- Use <xref linkend="sql-droplanguage"/> to drop procedural languages.
+ Use <link linkend="sql-droplanguage"><command>DROP LANGUAGE</command></link> to drop procedural languages.
</para>
<para>
diff --git a/doc/src/sgml/ref/create_materialized_view.sgml b/doc/src/sgml/ref/create_materialized_view.sgml
index de9f17655c6..5ba851b687a 100644
--- a/doc/src/sgml/ref/create_materialized_view.sgml
+++ b/doc/src/sgml/ref/create_materialized_view.sgml
@@ -132,8 +132,8 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] <replaceable>table_name</replaceable>
<term><replaceable>query</replaceable></term>
<listitem>
<para>
- A <xref linkend="sql-select"/>, <link linkend="sql-table">TABLE</link>,
- or <xref linkend="sql-values"/> command. This query will run within a
+ A <link linkend="sql-select"><command>SELECT</command></link>, <link linkend="sql-table"><command>TABLE</command></link>,
+ or <link linkend="sql-values"><command>VALUES</command></link> command. This query will run within a
security-restricted operation; in particular, calls to functions that
themselves create temporary tables will fail.
</para>
diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml
index 9462bc1e8ca..e27512ff391 100644
--- a/doc/src/sgml/ref/create_operator.sgml
+++ b/doc/src/sgml/ref/create_operator.sgml
@@ -251,8 +251,8 @@ COMMUTATOR = OPERATOR(myschema.===) ,
</para>
<para>
- Use <xref linkend="sql-dropoperator"/> to delete user-defined operators
- from a database. Use <xref linkend="sql-alteroperator"/> to modify operators in a
+ Use <link linkend="sql-dropoperator"><command>DROP OPERATOR</command></link> to delete user-defined operators
+ from a database. Use <link linkend="sql-alteroperator"><command>ALTER OPERATOR</command></link> to modify operators in a
database.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/create_procedure.sgml b/doc/src/sgml/ref/create_procedure.sgml
index d225695626c..36c307cadc7 100644
--- a/doc/src/sgml/ref/create_procedure.sgml
+++ b/doc/src/sgml/ref/create_procedure.sgml
@@ -285,7 +285,7 @@ CREATE [ OR REPLACE ] PROCEDURE
the SQL procedure. The string <replaceable
class="parameter">obj_file</replaceable> is the name of the shared
library file containing the compiled C procedure, and is interpreted
- as for the <xref linkend="sql-load"/> command. The string
+ as for the <link linkend="sql-load"><command>LOAD</command></link> command. The string
<replaceable class="parameter">link_symbol</replaceable> is the
procedure's link symbol, that is, the name of the procedure in the C
language source code. If the link symbol is omitted, it is assumed
diff --git a/doc/src/sgml/ref/create_role.sgml b/doc/src/sgml/ref/create_role.sgml
index 6e4148a17c4..d23133945db 100644
--- a/doc/src/sgml/ref/create_role.sgml
+++ b/doc/src/sgml/ref/create_role.sgml
@@ -162,7 +162,7 @@ in sync when changing the above synopsis!
If not specified,
<literal>NOLOGIN</literal> is the default, except when
<command>CREATE ROLE</command> is invoked through its alternative spelling
- <xref linkend="sql-createuser"/>.
+ <link linkend="sql-createuser"><command>CREATE USER</command></link>.
</para>
</listitem>
</varlistentry>
@@ -335,8 +335,8 @@ in sync when changing the above synopsis!
<title>Notes</title>
<para>
- Use <xref linkend="sql-alterrole"/> to
- change the attributes of a role, and <xref linkend="sql-droprole"/>
+ Use <link linkend="sql-alterrole"><command>ALTER ROLE</command></link> to
+ change the attributes of a role, and <link linkend="sql-droprole"><command>DROP ROLE</command></link>
to remove a role. All the attributes
specified by <command>CREATE ROLE</command> can be modified by later
<command>ALTER ROLE</command> commands.
@@ -345,8 +345,8 @@ in sync when changing the above synopsis!
<para>
The preferred way to add and remove members of roles that are being
used as groups is to use
- <xref linkend="sql-grant"/> and
- <xref linkend="sql-revoke"/>.
+ <link linkend="sql-grant"><command>GRANT</command></link> and
+ <link linkend="sql-revoke"><command>REVOKE</command></link>.
</para>
<para>
@@ -364,7 +364,7 @@ in sync when changing the above synopsis!
a member of a role with <literal>CREATEDB</literal> privilege does not immediately
grant the ability to create databases, even if <literal>INHERIT</literal> is set;
it would be necessary to become that role via
- <xref linkend="sql-set-role"/> before
+ <link linkend="sql-set-role"><command>SET ROLE</command></link> before
creating a database.
</para>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 087cad184c0..28f844071b0 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1152,7 +1152,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
constraint that is not deferrable will be checked immediately
after every command. Checking of constraints that are
deferrable can be postponed until the end of the transaction
- (using the <xref linkend="sql-set-constraints"/> command).
+ (using the <link linkend="sql-set-constraints"><command>SET CONSTRAINTS</command></link> command).
<literal>NOT DEFERRABLE</literal> is the default.
Currently, only <literal>UNIQUE</literal>, <literal>PRIMARY KEY</literal>,
<literal>EXCLUDE</literal>, and
@@ -1176,7 +1176,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
statement. This is the default. If the constraint is
<literal>INITIALLY DEFERRED</literal>, it is checked only at the
end of the transaction. The constraint check time can be
- altered with the <xref linkend="sql-set-constraints"/> command.
+ altered with the <link linkend="sql-set-constraints"><command>SET CONSTRAINTS</command></link> command.
</para>
</listitem>
</varlistentry>
@@ -1244,8 +1244,8 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
<listitem>
<para>
All rows in the temporary table will be deleted at the end
- of each transaction block. Essentially, an automatic <xref
- linkend="sql-truncate"/> is done
+ of each transaction block. Essentially, an automatic <link
+ linkend="sql-truncate"><command>TRUNCATE</command></link> is done
at each commit. When used on a partitioned table, this
is not cascaded to its partitions.
</para>
@@ -1430,7 +1430,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
Disabling index cleanup can speed up <command>VACUUM</command> very
significantly, but may also lead to severely bloated indexes if table
modifications are frequent. The <literal>INDEX_CLEANUP</literal>
- parameter of <xref linkend="sql-vacuum"/>, if specified, overrides
+ parameter of <link linkend="sql-vacuum"><command>VACUUM</command></link>, if specified, overrides
the value of this option.
</para>
</listitem>
@@ -1451,7 +1451,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
the truncated pages is returned to the operating system.
Note that the truncation requires <literal>ACCESS EXCLUSIVE</literal>
lock on the table. The <literal>TRUNCATE</literal> parameter
- of <xref linkend="sql-vacuum"/>, if specified, overrides the value
+ of <link linkend="sql-vacuum"><command>VACUUM</command></link>, if specified, overrides the value
of this option.
</para>
</listitem>
diff --git a/doc/src/sgml/ref/create_table_as.sgml b/doc/src/sgml/ref/create_table_as.sgml
index a4640929cfb..bcbd73b2272 100644
--- a/doc/src/sgml/ref/create_table_as.sgml
+++ b/doc/src/sgml/ref/create_table_as.sgml
@@ -185,8 +185,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
<listitem>
<para>
All rows in the temporary table will be deleted at the end
- of each transaction block. Essentially, an automatic <xref
- linkend="sql-truncate"/> is done
+ of each transaction block. Essentially, an automatic <link
+ linkend="sql-truncate"><command>TRUNCATE</command></link> is done
at each commit.
</para>
</listitem>
@@ -222,9 +222,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
<term><replaceable>query</replaceable></term>
<listitem>
<para>
- A <xref linkend="sql-select"/>, <link
- linkend="sql-table">TABLE</link>, or <xref linkend="sql-values"/>
- command, or an <xref linkend="sql-execute"/> command that runs a
+ A <link linkend="sql-select"><command>SELECT</command></link>, <link
+ linkend="sql-table"><command>TABLE</command></link>, or <link linkend="sql-values"><command>VALUES</command></link>
+ command, or an <link linkend="sql-execute"><command>EXECUTE</command></link> command that runs a
prepared <command>SELECT</command>, <command>TABLE</command>, or
<command>VALUES</command> query.
</para>
diff --git a/doc/src/sgml/ref/create_transform.sgml b/doc/src/sgml/ref/create_transform.sgml
index 5b46c23196d..3f81dc6bba2 100644
--- a/doc/src/sgml/ref/create_transform.sgml
+++ b/doc/src/sgml/ref/create_transform.sgml
@@ -147,7 +147,7 @@ CREATE [ OR REPLACE ] TRANSFORM FOR <replaceable>type_name</replaceable> LANGUAG
<title>Notes</title>
<para>
- Use <xref linkend="sql-droptransform"/> to remove transforms.
+ Use <link linkend="sql-droptransform"><command>DROP TRANSFORM</command></link> to remove transforms.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml
index 289dd1d9da8..60346e1e83b 100644
--- a/doc/src/sgml/ref/create_trigger.sgml
+++ b/doc/src/sgml/ref/create_trigger.sgml
@@ -170,7 +170,7 @@ CREATE [ CONSTRAINT ] TRIGGER <replaceable class="parameter">name</replaceable>
When the <literal>CONSTRAINT</literal> option is specified, this command creates a
<firstterm>constraint trigger</firstterm>. This is the same as a regular trigger
except that the timing of the trigger firing can be adjusted using
- <xref linkend="sql-set-constraints"/>.
+ <link linkend="sql-set-constraints"><command>SET CONSTRAINTS</command></link>.
Constraint triggers must be <literal>AFTER ROW</literal> triggers on plain
tables (not foreign tables). They
can be fired either at the end of the statement causing the triggering
@@ -442,7 +442,7 @@ UPDATE OF <replaceable>column_name1</replaceable> [, <replaceable>column_name2</
</para>
<para>
- Use <xref linkend="sql-droptrigger"/> to remove a trigger.
+ Use <link linkend="sql-droptrigger"><command>DROP TRIGGER</command></link> to remove a trigger.
</para>
<para>
diff --git a/doc/src/sgml/ref/create_type.sgml b/doc/src/sgml/ref/create_type.sgml
index 111f8e65d29..970b517db9f 100644
--- a/doc/src/sgml/ref/create_type.sgml
+++ b/doc/src/sgml/ref/create_type.sgml
@@ -121,8 +121,8 @@ CREATE TYPE <replaceable class="parameter">name</replaceable>
must be less than <symbol>NAMEDATALEN</symbol> bytes long (64 bytes in a
standard <productname>PostgreSQL</productname> build). (It is possible to
create an enumerated type with zero labels, but such a type cannot be used
- to hold values before at least one label is added using <xref
- linkend="sql-altertype"/>.)
+ to hold values before at least one label is added using <link
+ linkend="sql-altertype"><command>ALTER TYPE</command></link>.)
</para>
</refsect2>
diff --git a/doc/src/sgml/ref/create_user.sgml b/doc/src/sgml/ref/create_user.sgml
index 198e06e7230..48d2089238c 100644
--- a/doc/src/sgml/ref/create_user.sgml
+++ b/doc/src/sgml/ref/create_user.sgml
@@ -49,7 +49,7 @@ CREATE USER <replaceable class="parameter">name</replaceable> [ [ WITH ] <replac
<para>
<command>CREATE USER</command> is now an alias for
- <xref linkend="sql-createrole"/>.
+ <link linkend="sql-createrole"><command>CREATE ROLE</command></link>.
The only difference is that when the command is spelled
<command>CREATE USER</command>, <literal>LOGIN</literal> is assumed
by default, whereas <literal>NOLOGIN</literal> is assumed when
diff --git a/doc/src/sgml/ref/create_view.sgml b/doc/src/sgml/ref/create_view.sgml
index eb5591b63c7..4b5b1cf7953 100644
--- a/doc/src/sgml/ref/create_view.sgml
+++ b/doc/src/sgml/ref/create_view.sgml
@@ -137,8 +137,8 @@ CREATE VIEW [ <replaceable>schema</replaceable> . ] <replaceable>view_name</repl
This parameter may be either <literal>local</literal> or
<literal>cascaded</literal>, and is equivalent to specifying
<literal>WITH [ CASCADED | LOCAL ] CHECK OPTION</literal> (see below).
- This option can be changed on existing views using <xref
- linkend="sql-alterview"/>.
+ This option can be changed on existing views using <link
+ linkend="sql-alterview"><command>ALTER VIEW</command></link>.
</para>
</listitem>
</varlistentry>
@@ -160,8 +160,8 @@ CREATE VIEW [ <replaceable>schema</replaceable> . ] <replaceable>view_name</repl
<term><replaceable class="parameter">query</replaceable></term>
<listitem>
<para>
- A <xref linkend="sql-select"/> or
- <xref linkend="sql-values"/> command
+ A <link linkend="sql-select"><command>SELECT</command></link> or
+ <link linkend="sql-values"><command>VALUES</command></link> command
which will provide the columns and rows of the view.
</para>
</listitem>
@@ -245,7 +245,7 @@ CREATE VIEW [ <replaceable>schema</replaceable> . ] <replaceable>view_name</repl
<title>Notes</title>
<para>
- Use the <xref linkend="sql-dropview"/>
+ Use the <link linkend="sql-dropview"><command>DROP VIEW</command></link>
statement to drop views.
</para>
diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml
index d3c92943f07..95cc82dc88b 100644
--- a/doc/src/sgml/ref/createdb.sgml
+++ b/doc/src/sgml/ref/createdb.sgml
@@ -46,7 +46,7 @@ PostgreSQL documentation
<para>
<application>createdb</application> is a wrapper around the
- <acronym>SQL</acronym> command <xref linkend="sql-createdatabase"/>.
+ <acronym>SQL</acronym> command <link linkend="sql-createdatabase"><command>CREATE DATABASE</command></link>.
There is no effective difference between creating databases via
this utility and via other methods for accessing the server.
</para>
@@ -197,7 +197,7 @@ PostgreSQL documentation
The options <option>-D</option>, <option>-l</option>, <option>-E</option>,
<option>-O</option>, and
<option>-T</option> correspond to options of the underlying
- SQL command <xref linkend="sql-createdatabase"/>; see there for more information
+ SQL command <link linkend="sql-createdatabase"><command>CREATE DATABASE</command></link>; see there for more information
about them.
</para>
diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml
index 9d24df8b7a8..4d60dc2cda1 100644
--- a/doc/src/sgml/ref/createuser.sgml
+++ b/doc/src/sgml/ref/createuser.sgml
@@ -49,7 +49,7 @@ PostgreSQL documentation
<para>
<application>createuser</application> is a wrapper around the
- <acronym>SQL</acronym> command <xref linkend="sql-createrole"/>.
+ <acronym>SQL</acronym> command <link linkend="sql-createrole"><command>CREATE ROLE</command></link>.
There is no effective difference between creating users via
this utility and via other methods for accessing the server.
</para>
diff --git a/doc/src/sgml/ref/declare.sgml b/doc/src/sgml/ref/declare.sgml
index d6177dcd9c4..2152134635e 100644
--- a/doc/src/sgml/ref/declare.sgml
+++ b/doc/src/sgml/ref/declare.sgml
@@ -39,7 +39,7 @@ DECLARE <replaceable class="parameter">name</replaceable> [ BINARY ] [ INSENSITI
can be used to retrieve
a small number of rows at a time out of a larger query.
After the cursor is created, rows are fetched from it using
- <xref linkend="sql-fetch"/>.
+ <link linkend="sql-fetch"><command>FETCH</command></link>.
</para>
<note>
@@ -124,8 +124,8 @@ DECLARE <replaceable class="parameter">name</replaceable> [ BINARY ] [ INSENSITI
<term><replaceable class="parameter">query</replaceable></term>
<listitem>
<para>
- A <xref linkend="sql-select"/> or
- <xref linkend="sql-values"/> command
+ A <link linkend="sql-select"><command>SELECT</command></link> or
+ <link linkend="sql-values"><command>VALUES</command></link> command
which will provide the rows to be returned by the cursor.
</para>
</listitem>
@@ -183,9 +183,9 @@ DECLARE <replaceable class="parameter">name</replaceable> [ BINARY ] [ INSENSITI
<productname>PostgreSQL</productname> reports an error if such a
command is used outside a transaction block.
Use
- <xref linkend="sql-begin"/> and
- <xref linkend="sql-commit"/>
- (or <xref linkend="sql-rollback"/>)
+ <link linkend="sql-begin"><command>BEGIN</command></link> and
+ <link linkend="sql-commit"><command>COMMIT</command></link>
+ (or <link linkend="sql-rollback"><command>ROLLBACK</command></link>)
to define a transaction block.
</para>
@@ -244,7 +244,7 @@ DECLARE <replaceable class="parameter">name</replaceable> [ BINARY ] [ INSENSITI
If the cursor's query includes <literal>FOR UPDATE</literal> or <literal>FOR
SHARE</literal>, then returned rows are locked at the time they are first
fetched, in the same way as for a regular
- <xref linkend="sql-select"/> command with
+ <link linkend="sql-select"><command>SELECT</command></link> command with
these options.
In addition, the returned rows will be the most up-to-date versions;
therefore these options provide the equivalent of what the SQL standard
diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml
index ec3c40df2ea..1b81b4e7d74 100644
--- a/doc/src/sgml/ref/delete.sgml
+++ b/doc/src/sgml/ref/delete.sgml
@@ -41,7 +41,7 @@ DELETE FROM [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ *
<tip>
<para>
- <xref linkend="sql-truncate"/> provides a
+ <link linkend="sql-truncate"><command>TRUNCATE</command></link> provides a
faster mechanism to remove all rows from a table.
</para>
</tip>
diff --git a/doc/src/sgml/ref/drop_group.sgml b/doc/src/sgml/ref/drop_group.sgml
index 47d4a72121b..eb7dc182c82 100644
--- a/doc/src/sgml/ref/drop_group.sgml
+++ b/doc/src/sgml/ref/drop_group.sgml
@@ -30,7 +30,7 @@ DROP GROUP [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ..
<para>
<command>DROP GROUP</command> is now an alias for
- <xref linkend="sql-droprole"/>.
+ <link linkend="sql-droprole"><command>DROP ROLE</command></link>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/drop_language.sgml b/doc/src/sgml/ref/drop_language.sgml
index 4705836ac79..8ba6621bc4a 100644
--- a/doc/src/sgml/ref/drop_language.sgml
+++ b/doc/src/sgml/ref/drop_language.sgml
@@ -38,7 +38,7 @@ DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] <replaceable class="parameter">name</
<para>
As of <productname>PostgreSQL</productname> 9.1, most procedural
languages have been made into <quote>extensions</quote>, and should
- therefore be removed with <xref linkend="sql-dropextension"/>
+ therefore be removed with <link linkend="sql-dropextension"><command>DROP EXTENSION</command></link>
not <command>DROP LANGUAGE</command>.
</para>
</note>
diff --git a/doc/src/sgml/ref/drop_owned.sgml b/doc/src/sgml/ref/drop_owned.sgml
index dcc375f33bf..8fa8c414a10 100644
--- a/doc/src/sgml/ref/drop_owned.sgml
+++ b/doc/src/sgml/ref/drop_owned.sgml
@@ -90,7 +90,7 @@ DROP OWNED BY { <replaceable class="parameter">name</replaceable> | CURRENT_ROLE
</para>
<para>
- The <xref linkend="sql-reassign-owned"/> command is an alternative that
+ The <link linkend="sql-reassign-owned"><command>REASSIGN OWNED</command></link> command is an alternative that
reassigns the ownership of all the database objects owned by one or
more roles. However, <command>REASSIGN OWNED</command> does not deal with
privileges for other objects.
diff --git a/doc/src/sgml/ref/drop_role.sgml b/doc/src/sgml/ref/drop_role.sgml
index 13079f3e1f4..13dc1cc6499 100644
--- a/doc/src/sgml/ref/drop_role.sgml
+++ b/doc/src/sgml/ref/drop_role.sgml
@@ -40,7 +40,9 @@ DROP ROLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ...
of the cluster; an error will be raised if so. Before dropping the role,
you must drop all the objects it owns (or reassign their ownership)
and revoke any privileges the role has been granted on other objects.
- The <xref linkend="sql-reassign-owned"/> and <xref linkend="sql-drop-owned"/>
+ The <link linkend="sql-reassign-owned"><command>REASSIGN
+ OWNED</command></link> and <link linkend="sql-drop-owned"><command>DROP
+ OWNED</command></link>
commands can be useful for this purpose; see <xref linkend="role-removal"/>
for more discussion.
</para>
diff --git a/doc/src/sgml/ref/drop_table.sgml b/doc/src/sgml/ref/drop_table.sgml
index bf8996d1985..450458fd2a4 100644
--- a/doc/src/sgml/ref/drop_table.sgml
+++ b/doc/src/sgml/ref/drop_table.sgml
@@ -32,8 +32,8 @@ DROP TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ..
<command>DROP TABLE</command> removes tables from the database.
Only the table owner, the schema owner, and superuser can drop a
table. To empty a table of rows
- without destroying the table, use <xref linkend="sql-delete"/>
- or <xref linkend="sql-truncate"/>.
+ without destroying the table, use <link linkend="sql-delete"><command>DELETE</command></link>
+ or <link linkend="sql-truncate"><command>TRUNCATE</command></link>.
</para>
<para>
diff --git a/doc/src/sgml/ref/drop_user.sgml b/doc/src/sgml/ref/drop_user.sgml
index 37ab856125d..74e736b0ebd 100644
--- a/doc/src/sgml/ref/drop_user.sgml
+++ b/doc/src/sgml/ref/drop_user.sgml
@@ -30,7 +30,7 @@ DROP USER [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ...
<para>
<command>DROP USER</command> is simply an alternate spelling of
- <xref linkend="sql-droprole"/>.
+ <link linkend="sql-droprole"><command>DROP ROLE</command></link>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/dropdb.sgml b/doc/src/sgml/ref/dropdb.sgml
index ded85b0e232..fe523a2ee1d 100644
--- a/doc/src/sgml/ref/dropdb.sgml
+++ b/doc/src/sgml/ref/dropdb.sgml
@@ -41,7 +41,7 @@ PostgreSQL documentation
<para>
<application>dropdb</application> is a wrapper around the
- <acronym>SQL</acronym> command <xref linkend="sql-dropdatabase"/>.
+ <acronym>SQL</acronym> command <link linkend="sql-dropdatabase"><command>DROP DATABASE</command></link>.
There is no effective difference between dropping databases via
this utility and via other methods for accessing the server.
</para>
diff --git a/doc/src/sgml/ref/dropuser.sgml b/doc/src/sgml/ref/dropuser.sgml
index f9aab340d3b..81580507e82 100644
--- a/doc/src/sgml/ref/dropuser.sgml
+++ b/doc/src/sgml/ref/dropuser.sgml
@@ -42,7 +42,7 @@ PostgreSQL documentation
<para>
<application>dropuser</application> is a wrapper around the
- <acronym>SQL</acronym> command <xref linkend="sql-droprole"/>.
+ <acronym>SQL</acronym> command <link linkend="sql-droprole"><command>DROP ROLE</command></link>.
There is no effective difference between dropping users via
this utility and via other methods for accessing the server.
</para>
diff --git a/doc/src/sgml/ref/end.sgml b/doc/src/sgml/ref/end.sgml
index 8b8f4f0dbb9..498652919ad 100644
--- a/doc/src/sgml/ref/end.sgml
+++ b/doc/src/sgml/ref/end.sgml
@@ -33,7 +33,7 @@ END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
made by the transaction become visible to others and are guaranteed
to be durable if a crash occurs. This command is a
<productname>PostgreSQL</productname> extension
- that is equivalent to <xref linkend="sql-commit"/>.
+ that is equivalent to <link linkend="sql-commit"><command>COMMIT</command></link>.
</para>
</refsect1>
@@ -69,7 +69,7 @@ END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
<title>Notes</title>
<para>
- Use <xref linkend="sql-rollback"/> to
+ Use <link linkend="sql-rollback"><command>ROLLBACK</command></link> to
abort a transaction.
</para>
@@ -94,8 +94,8 @@ END;
<para>
<command>END</command> is a <productname>PostgreSQL</productname>
- extension that provides functionality equivalent to <xref
- linkend="sql-commit"/>, which is
+ extension that provides functionality equivalent to <link
+ linkend="sql-commit"><command>COMMIT</command></link>, which is
specified in the SQL standard.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml
index 906b2ccd50a..b0ccdd26e73 100644
--- a/doc/src/sgml/ref/explain.sgml
+++ b/doc/src/sgml/ref/explain.sgml
@@ -302,7 +302,7 @@ ROLLBACK;
the <link linkend="autovacuum">autovacuum daemon</link> will take care
of that automatically. But if a table has recently had substantial
changes in its contents, you might need to do a manual
- <xref linkend="sql-analyze"/> rather than wait for autovacuum to catch up
+ <link linkend="sql-analyze"><command>ANALYZE</command></link> rather than wait for autovacuum to catch up
with the changes.
</para>
diff --git a/doc/src/sgml/ref/fetch.sgml b/doc/src/sgml/ref/fetch.sgml
index e802be61c8c..ec843f56844 100644
--- a/doc/src/sgml/ref/fetch.sgml
+++ b/doc/src/sgml/ref/fetch.sgml
@@ -335,9 +335,9 @@ FETCH <replaceable class="parameter">count</replaceable>
</para>
<para>
- <xref linkend="sql-declare"/>
+ <link linkend="sql-declare"><command>DECLARE</command></link>
is used to define a cursor. Use
- <xref linkend="sql-move"/>
+ <link linkend="sql-move"><command>MOVE</command></link>
to change cursor position without retrieving data.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml
index fe231aa30cd..c3db393bdea 100644
--- a/doc/src/sgml/ref/grant.sgml
+++ b/doc/src/sgml/ref/grant.sgml
@@ -259,7 +259,7 @@ GRANT <replaceable class="parameter">role_name</replaceable> [, ...] TO <replace
<title>Notes</title>
<para>
- The <xref linkend="sql-revoke"/> command is used
+ The <link linkend="sql-revoke"><command>REVOKE</command></link> command is used
to revoke access privileges.
</para>
diff --git a/doc/src/sgml/ref/lock.sgml b/doc/src/sgml/ref/lock.sgml
index 0c4688603d9..4cdfae2279e 100644
--- a/doc/src/sgml/ref/lock.sgml
+++ b/doc/src/sgml/ref/lock.sgml
@@ -186,9 +186,9 @@ LOCK [ TABLE ] [ ONLY ] <replaceable class="parameter">name</replaceable> [ * ]
<productname>PostgreSQL</productname> reports an error if <command>LOCK</command>
is used outside a transaction block.
Use
- <xref linkend="sql-begin"/> and
- <xref linkend="sql-commit"/>
- (or <xref linkend="sql-rollback"/>)
+ <link linkend="sql-begin"><command>BEGIN</command></link> and
+ <link linkend="sql-commit"><command>COMMIT</command></link>
+ (or <link linkend="sql-rollback"><command>ROLLBACK</command></link>)
to define a transaction block.
</para>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index 806949df42b..fda678e345c 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -143,8 +143,8 @@ PostgreSQL documentation
<para>
This option is meant for other programs that interact with a server
instance, such as <xref linkend="app-pg-ctl"/>, to query configuration
- parameter values. User-facing applications should instead use <xref
- linkend="sql-show"/> or the <structname>pg_settings</structname> view.
+ parameter values. User-facing applications should instead use <link
+ linkend="sql-show"><command>SHOW</command></link> or the <structname>pg_settings</structname> view.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/prepare.sgml b/doc/src/sgml/ref/prepare.sgml
index 1e484f6d202..57a34ff83c7 100644
--- a/doc/src/sgml/ref/prepare.sgml
+++ b/doc/src/sgml/ref/prepare.sgml
@@ -66,7 +66,7 @@ PREPARE <replaceable class="parameter">name</replaceable> [ ( <replaceable class
also means that a single prepared statement cannot be used by
multiple simultaneous database clients; however, each client can create
their own prepared statement to use. Prepared statements can be
- manually cleaned up using the <xref linkend="sql-deallocate"/> command.
+ manually cleaned up using the <link linkend="sql-deallocate"><command>DEALLOCATE</command></link> command.
</para>
<para>
@@ -163,7 +163,7 @@ PREPARE <replaceable class="parameter">name</replaceable> [ ( <replaceable class
<para>
To examine the query plan <productname>PostgreSQL</productname> is using
- for a prepared statement, use <xref linkend="sql-explain"/>, for example
+ for a prepared statement, use <link linkend="sql-explain"><command>EXPLAIN</command></link>, for example
<programlisting>
EXPLAIN EXECUTE <replaceable>name</replaceable>(<replaceable>parameter_values</replaceable>);
</programlisting>
diff --git a/doc/src/sgml/ref/prepare_transaction.sgml b/doc/src/sgml/ref/prepare_transaction.sgml
index 18051983e16..f4f6118ac31 100644
--- a/doc/src/sgml/ref/prepare_transaction.sgml
+++ b/doc/src/sgml/ref/prepare_transaction.sgml
@@ -39,8 +39,8 @@ PREPARE TRANSACTION <replaceable class="parameter">transaction_id</replaceable>
<para>
Once prepared, a transaction can later be committed or rolled back
- with <xref linkend="sql-commit-prepared"/>
- or <xref linkend="sql-rollback-prepared"/>,
+ with <link linkend="sql-commit-prepared"><command>COMMIT PREPARED</command></link>
+ or <link linkend="sql-rollback-prepared"><command>ROLLBACK PREPARED</command></link>,
respectively. Those commands can be issued from any session, not
only the one that executed the original transaction.
</para>
@@ -92,8 +92,8 @@ PREPARE TRANSACTION <replaceable class="parameter">transaction_id</replaceable>
</para>
<para>
- This command must be used inside a transaction block. Use <xref
- linkend="sql-begin"/> to start one.
+ This command must be used inside a transaction block. Use <link
+ linkend="sql-begin"><command>BEGIN</command></link> to start one.
</para>
<para>
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index aed051f543c..ee3fc095779 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -756,8 +756,8 @@ testdb=&gt;
<para>
Whenever a command is executed, <application>psql</application> also polls
for asynchronous notification events generated by
- <xref linkend="sql-listen"/> and
- <xref linkend="sql-notify"/>.
+ <link linkend="sql-listen"><command>LISTEN</command></link> and
+ <link linkend="sql-notify"><command>NOTIFY</command></link>.
</para>
<para>
@@ -993,7 +993,7 @@ testdb=&gt;
<listitem>
<para>
Performs a frontend (client) copy. This is an operation that
- runs an <acronym>SQL</acronym> <xref linkend="sql-copy"/>
+ runs an <acronym>SQL</acronym> <link linkend="sql-copy"><command>COPY</command></link>
command, but instead of the server
reading or writing the specified file,
<application>psql</application> reads or writes the file and
@@ -1030,9 +1030,9 @@ testdb=&gt;
<para>
The syntax of this command is similar to that of the
- <acronym>SQL</acronym> <xref linkend="sql-copy"/>
+ <acronym>SQL</acronym> <link linkend="sql-copy"><command>COPY</command></link>
command. All options other than the data source/destination are
- as specified for <xref linkend="sql-copy"/>.
+ as specified for <command>COPY</command>.
Because of this, special parsing rules apply to the <command>\copy</command>
meta-command. Unlike most other meta-commands, the entire remainder
of the line is always taken to be the arguments of <command>\copy</command>,
@@ -1397,8 +1397,8 @@ testdb=&gt;
</para>
<para>
- Descriptions for objects can be created with the <xref
- linkend="sql-comment"/>
+ Descriptions for objects can be created with the <link
+ linkend="sql-comment"><command>COMMENT</command></link>
<acronym>SQL</acronym> command.
</para>
</listitem>
@@ -1435,9 +1435,9 @@ testdb=&gt;
</para>
<para>
- The <xref linkend="sql-alterdefaultprivileges"/> command is used to set
- default access privileges. The meaning of the
- privilege display is explained in
+ The <link linkend="sql-alterdefaultprivileges"><command>ALTER DEFAULT
+ PRIVILEGES</command></link> command is used to set default access
+ privileges. The meaning of the privilege display is explained in
<xref linkend="ddl-priv"/>.
</para>
</listitem>
@@ -1751,8 +1751,8 @@ testdb=&gt;
</para>
<para>
- The <xref linkend="sql-grant"/> and
- <xref linkend="sql-revoke"/>
+ The <link linkend="sql-grant"><command>GRANT</command></link> and
+ <link linkend="sql-revoke"><command>REVOKE</command></link>
commands are used to set access privileges. The meaning of the
privilege display is explained in
<xref linkend="ddl-priv"/>.
@@ -1807,8 +1807,8 @@ testdb=&gt;
</para>
<para>
- The <xref linkend="sql-alterrole"/> and
- <xref linkend="sql-alterdatabase"/>
+ The <link linkend="sql-alterrole"><command>ALTER ROLE</command></link> and
+ <link linkend="sql-alterdatabase"><command>ALTER DATABASE</command></link>
commands are used to define per-role and per-database configuration
settings.
</para>
@@ -3179,7 +3179,7 @@ lo_import 152801
<note>
<para>
This command is unrelated to the <acronym>SQL</acronym>
- command <xref linkend="sql-set"/>.
+ command <link linkend="sql-set"><command>SET</command></link>.
</para>
</note>
</listitem>
diff --git a/doc/src/sgml/ref/reassign_owned.sgml b/doc/src/sgml/ref/reassign_owned.sgml
index 783389df4e8..ab692bd0690 100644
--- a/doc/src/sgml/ref/reassign_owned.sgml
+++ b/doc/src/sgml/ref/reassign_owned.sgml
@@ -82,7 +82,7 @@ REASSIGN OWNED BY { <replaceable class="parameter">old_role</replaceable> | CURR
</para>
<para>
- The <xref linkend="sql-drop-owned"/> command is an alternative that
+ The <link linkend="sql-drop-owned"><command>DROP OWNED</command></link> command is an alternative that
simply drops all the database objects owned by one or more roles.
</para>
diff --git a/doc/src/sgml/ref/refresh_materialized_view.sgml b/doc/src/sgml/ref/refresh_materialized_view.sgml
index 8ae62671ada..3bf88844478 100644
--- a/doc/src/sgml/ref/refresh_materialized_view.sgml
+++ b/doc/src/sgml/ref/refresh_materialized_view.sgml
@@ -94,7 +94,7 @@ REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] <replaceable class="parameter">name</
<para>
While the default index for future
- <xref linkend="sql-cluster"/>
+ <link linkend="sql-cluster"><command>CLUSTER</command></link>
operations is retained, <command>REFRESH MATERIALIZED VIEW</command> does not
order the generated rows based on this property. If you want the data
to be ordered upon generation, you must use an <literal>ORDER BY</literal>
diff --git a/doc/src/sgml/ref/reindexdb.sgml b/doc/src/sgml/ref/reindexdb.sgml
index 0f3f12bfbfc..a6d93693c5d 100644
--- a/doc/src/sgml/ref/reindexdb.sgml
+++ b/doc/src/sgml/ref/reindexdb.sgml
@@ -93,7 +93,7 @@ PostgreSQL documentation
<para>
<application>reindexdb</application> is a wrapper around the SQL
- command <xref linkend="sql-reindex"/>.
+ command <link linkend="sql-reindex"><command>REINDEX</command></link>.
There is no effective difference between reindexing databases via
this utility and via other methods for accessing the server.
</para>
diff --git a/doc/src/sgml/ref/revoke.sgml b/doc/src/sgml/ref/revoke.sgml
index b50f99dfe71..35ff87a4f5e 100644
--- a/doc/src/sgml/ref/revoke.sgml
+++ b/doc/src/sgml/ref/revoke.sgml
@@ -131,7 +131,7 @@ REVOKE [ ADMIN OPTION FOR ]
</para>
<para>
- See the description of the <xref linkend="sql-grant"/> command for
+ See the description of the <link linkend="sql-grant"><command>GRANT</command></link> command for
the meaning of the privilege types.
</para>
@@ -292,7 +292,7 @@ REVOKE admins FROM joe;
<title>Compatibility</title>
<para>
- The compatibility notes of the <xref linkend="sql-grant"/> command
+ The compatibility notes of the <link linkend="sql-grant"><command>GRANT</command></link> command
apply analogously to <command>REVOKE</command>.
The keyword <literal>RESTRICT</literal> or <literal>CASCADE</literal>
is required according to the standard, but <productname>PostgreSQL</productname>
diff --git a/doc/src/sgml/ref/rollback.sgml b/doc/src/sgml/ref/rollback.sgml
index 1357eaa8323..142f71e7742 100644
--- a/doc/src/sgml/ref/rollback.sgml
+++ b/doc/src/sgml/ref/rollback.sgml
@@ -70,7 +70,7 @@ ROLLBACK [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
<title>Notes</title>
<para>
- Use <xref linkend="sql-commit"/> to
+ Use <link linkend="sql-commit"><command>COMMIT</command></link> to
successfully terminate a transaction.
</para>
diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml
index 4d5647a302e..3d5a241e1aa 100644
--- a/doc/src/sgml/ref/rollback_to.sgml
+++ b/doc/src/sgml/ref/rollback_to.sgml
@@ -64,7 +64,7 @@ ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] <replaceable>savepoint_name</re
<title>Notes</title>
<para>
- Use <xref linkend="sql-release-savepoint"/> to destroy a savepoint
+ Use <link linkend="sql-release-savepoint"><command>RELEASE SAVEPOINT</command></link> to destroy a savepoint
without discarding the effects of commands executed after it was
established.
</para>
diff --git a/doc/src/sgml/ref/savepoint.sgml b/doc/src/sgml/ref/savepoint.sgml
index 87243b1d204..b17342a1ee6 100644
--- a/doc/src/sgml/ref/savepoint.sgml
+++ b/doc/src/sgml/ref/savepoint.sgml
@@ -64,8 +64,8 @@ SAVEPOINT <replaceable>savepoint_name</replaceable>
<title>Notes</title>
<para>
- Use <xref linkend="sql-rollback-to"/> to
- rollback to a savepoint. Use <xref linkend="sql-release-savepoint"/>
+ Use <link linkend="sql-rollback-to"><command>ROLLBACK TO</command></link> to
+ rollback to a savepoint. Use <link linkend="sql-release-savepoint"><command>RELEASE SAVEPOINT</command></link>
to destroy a savepoint, keeping
the effects of commands executed after it was established.
</para>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index b93e4ca208b..b4dea9b6acf 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -446,7 +446,7 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
sub-<command>SELECT</command> must be surrounded by
parentheses, and an alias <emphasis>must</emphasis> be
provided for it. A
- <xref linkend="sql-values"/> command
+ <link linkend="sql-values"><command>VALUES</command></link> command
can also be used here.
</para>
</listitem>
@@ -1534,7 +1534,7 @@ KEY SHARE
to the row-level lock(s) &mdash; the required <literal>ROW SHARE</literal>
table-level lock is still taken in the ordinary way (see
<xref linkend="mvcc"/>). You can use
- <xref linkend="sql-lock"/>
+ <link linkend="sql-lock"><command>LOCK</command></link>
with the <literal>NOWAIT</literal> option first,
if you need to acquire the table-level lock without waiting.
</para>
diff --git a/doc/src/sgml/ref/select_into.sgml b/doc/src/sgml/ref/select_into.sgml
index b1af52a4da1..6cfa706b575 100644
--- a/doc/src/sgml/ref/select_into.sgml
+++ b/doc/src/sgml/ref/select_into.sgml
@@ -95,7 +95,7 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replac
<title>Notes</title>
<para>
- <xref linkend="sql-createtableas"/> is functionally similar to
+ <link linkend="sql-createtableas"><command>CREATE TABLE AS</command></link> is functionally similar to
<command>SELECT INTO</command>. <command>CREATE TABLE AS</command>
is the recommended syntax, since this form of <command>SELECT
INTO</command> is not available in <application>ECPG</application>
@@ -109,8 +109,8 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replac
In contrast to <command>CREATE TABLE AS</command>, <command>SELECT
INTO</command> does not allow to specify properties like a table's access
method with <xref linkend="sql-createtable-method" /> or the table's
- tablespace with <xref linkend="sql-createtable-tablespace" />. Use <xref
- linkend="sql-createtableas"/> if necessary. Therefore, the default table
+ tablespace with <xref linkend="sql-createtable-tablespace" />. Use
+ <command>CREATE TABLE AS</command> if necessary. Therefore, the default table
access method is chosen for the new table. See <xref
linkend="guc-default-table-access-method"/> for more information.
</para>
diff --git a/doc/src/sgml/ref/set_role.sgml b/doc/src/sgml/ref/set_role.sgml
index a4842f363c8..739f2c5cdfa 100644
--- a/doc/src/sgml/ref/set_role.sgml
+++ b/doc/src/sgml/ref/set_role.sgml
@@ -48,7 +48,7 @@ RESET ROLE
<para>
The <literal>SESSION</literal> and <literal>LOCAL</literal> modifiers act the same
- as for the regular <xref linkend="sql-set"/>
+ as for the regular <link linkend="sql-set"><command>SET</command></link>
command.
</para>
@@ -82,7 +82,7 @@ RESET ROLE
<para>
<command>SET ROLE</command> has effects comparable to
- <xref linkend="sql-set-session-authorization"/>, but the privilege
+ <link linkend="sql-set-session-authorization"><command>SET SESSION AUTHORIZATION</command></link>, but the privilege
checks involved are quite different. Also,
<command>SET SESSION AUTHORIZATION</command> determines which roles are
allowable for later <command>SET ROLE</command> commands, whereas changing
@@ -92,7 +92,7 @@ RESET ROLE
<para>
<command>SET ROLE</command> does not process session variables as specified by
- the role's <xref linkend="sql-alterrole"/> settings; this only happens during
+ the role's <link linkend="sql-alterrole"><command>ALTER ROLE</command></link> settings; this only happens during
login.
</para>
diff --git a/doc/src/sgml/ref/set_session_auth.sgml b/doc/src/sgml/ref/set_session_auth.sgml
index 6a838e58b76..e44e78ed8d6 100644
--- a/doc/src/sgml/ref/set_session_auth.sgml
+++ b/doc/src/sgml/ref/set_session_auth.sgml
@@ -45,7 +45,7 @@ RESET SESSION AUTHORIZATION
identifier is normally equal to the session user identifier, but
might change temporarily in the context of <literal>SECURITY DEFINER</literal>
functions and similar mechanisms; it can also be changed by
- <xref linkend="sql-set-role"/>.
+ <link linkend="sql-set-role"><command>SET ROLE</command></link>.
The current user identifier is relevant for permission checking.
</para>
@@ -58,7 +58,7 @@ RESET SESSION AUTHORIZATION
<para>
The <literal>SESSION</literal> and <literal>LOCAL</literal> modifiers act the same
- as for the regular <xref linkend="sql-set"/>
+ as for the regular <link linkend="sql-set"><command>SET</command></link>
command.
</para>
diff --git a/doc/src/sgml/ref/start_transaction.sgml b/doc/src/sgml/ref/start_transaction.sgml
index d6cd1d41779..74ccd7e3456 100644
--- a/doc/src/sgml/ref/start_transaction.sgml
+++ b/doc/src/sgml/ref/start_transaction.sgml
@@ -37,8 +37,8 @@ START TRANSACTION [ <replaceable class="parameter">transaction_mode</replaceable
<para>
This command begins a new transaction block. If the isolation level,
read/write mode, or deferrable mode is specified, the new transaction has those
- characteristics, as if <xref linkend="sql-set-transaction"/> was executed. This is the same
- as the <xref linkend="sql-begin"/> command.
+ characteristics, as if <link linkend="sql-set-transaction"><command>SET TRANSACTION</command></link> was executed. This is the same
+ as the <link linkend="sql-begin"><command>BEGIN</command></link> command.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml
index 766c6882bd4..6dcdab9cafd 100644
--- a/doc/src/sgml/ref/vacuumdb.sgml
+++ b/doc/src/sgml/ref/vacuumdb.sgml
@@ -62,7 +62,7 @@ PostgreSQL documentation
<para>
<application>vacuumdb</application> is a wrapper around the SQL
- command <xref linkend="sql-vacuum"/>.
+ command <link linkend="sql-vacuum"><command>VACUUM</command></link>.
There is no effective difference between vacuuming and analyzing
databases via this utility and via other methods for accessing the
server.
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index 9961569afc8..e896a44ce59 100644
--- a/doc/src/sgml/sepgsql.sgml
+++ b/doc/src/sgml/sepgsql.sgml
@@ -51,7 +51,7 @@
</para>
<para>
- The <xref linkend="sql-security-label"/> statement allows assignment of
+ The <link linkend="sql-security-label"><command>SECURITY LABEL</command></link> statement allows assignment of
a security label to a database object.
</para>
@@ -451,7 +451,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
<itemizedlist>
<listitem>
<para>
- <xref linkend="sql-createdatabase"/> additionally requires
+ <link linkend="sql-createdatabase"><command>CREATE DATABASE</command></link> additionally requires
<literal>getattr</literal> permission for the source or template database.
</para>
</listitem>
@@ -509,7 +509,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
</listitem>
<listitem>
<para>
- Using <xref linkend="sql-security-label"/> on an object additionally
+ Using <link linkend="sql-security-label"><command>SECURITY LABEL</command></link> on an object additionally
requires <literal>relabelfrom</literal> permission for the object in
conjunction with its old security label and <literal>relabelto</literal>
permission for the object in conjunction with its new security label.
@@ -644,7 +644,7 @@ ERROR: SELinux: security policy violation
<sect3>
<title>Miscellaneous</title>
<para>
- We reject the <xref linkend="sql-load"/> command across the board, because
+ We reject the <link linkend="sql-load"><command>LOAD</command></link> command across the board, because
any module loaded could easily circumvent security policy enforcement.
</para>
diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml
index 071ff301d07..d960aa3e0fb 100644
--- a/doc/src/sgml/tsm-system-rows.sgml
+++ b/doc/src/sgml/tsm-system-rows.sgml
@@ -10,7 +10,7 @@
<para>
The <filename>tsm_system_rows</filename> module provides the table sampling method
<literal>SYSTEM_ROWS</literal>, which can be used in
- the <literal>TABLESAMPLE</literal> clause of a <xref linkend="sql-select"/>
+ the <literal>TABLESAMPLE</literal> clause of a <link linkend="sql-select"><command>SELECT</command></link>
command.
</para>
diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml
index cd074926d85..df6e83a9236 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -10,7 +10,7 @@
<para>
The <filename>tsm_system_time</filename> module provides the table sampling method
<literal>SYSTEM_TIME</literal>, which can be used in
- the <literal>TABLESAMPLE</literal> clause of a <xref linkend="sql-select"/>
+ the <literal>TABLESAMPLE</literal> clause of a <link linkend="sql-select"><command>SELECT</command></link>
command.
</para>
diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml
index 829decd8839..cc082521a2a 100644
--- a/doc/src/sgml/user-manag.sgml
+++ b/doc/src/sgml/user-manag.sgml
@@ -51,8 +51,8 @@
operating system users. In practice it might be convenient to
maintain a correspondence, but this is not required. Database roles
are global across a database cluster installation (and not
- per individual database). To create a role use the <xref
- linkend="sql-createrole"/> SQL command:
+ per individual database). To create a role use the <link
+ linkend="sql-createrole"><command>CREATE ROLE</command></link> SQL command:
<synopsis>
CREATE ROLE <replaceable>name</replaceable>;
</synopsis>
@@ -61,7 +61,7 @@ CREATE ROLE <replaceable>name</replaceable>;
double-quoted. (In practice, you will usually want to add additional
options, such as <literal>LOGIN</literal>, to the command. More details appear
below.) To remove an existing role, use the analogous
- <xref linkend="sql-droprole"/> command:
+ <link linkend="sql-droprole"><command>DROP ROLE</command></link> command:
<synopsis>
DROP ROLE <replaceable>name</replaceable>;
</synopsis>
@@ -303,8 +303,8 @@ CREATE ROLE <replaceable>name</replaceable>;
<para>
Once the group role exists, you can add and remove members using the
- <xref linkend="sql-grant"/> and
- <xref linkend="sql-revoke"/> commands:
+ <link linkend="sql-grant"><command>GRANT</command></link> and
+ <link linkend="sql-revoke"><command>REVOKE</command></link> commands:
<synopsis>
GRANT <replaceable>group_role</replaceable> TO <replaceable>role1</replaceable>, ... ;
REVOKE <replaceable>group_role</replaceable> FROM <replaceable>role1</replaceable>, ... ;
@@ -319,7 +319,7 @@ REVOKE <replaceable>group_role</replaceable> FROM <replaceable>role1</replaceabl
<para>
The members of a group role can use the privileges of the role in two
ways. First, every member of a group can explicitly do
- <xref linkend="sql-set-role"/> to
+ <link linkend="sql-set-role"><command>SET ROLE</command></link> to
temporarily <quote>become</quote> the group role. In this state, the
database session has access to the privileges of the group role rather
than the original login role, and any database objects created are
@@ -402,8 +402,8 @@ RESET ROLE;
</para>
<para>
- To destroy a group role, use <xref
- linkend="sql-droprole"/>:
+ To destroy a group role, use <link
+ linkend="sql-droprole"><command>DROP ROLE</command></link>:
<synopsis>
DROP ROLE <replaceable>name</replaceable>;
</synopsis>
@@ -418,7 +418,7 @@ DROP ROLE <replaceable>name</replaceable>;
<para>
Because roles can own database objects and can hold privileges
to access other objects, dropping a role is often not just a matter of a
- quick <xref linkend="sql-droprole"/>. Any objects owned by the role must
+ quick <link linkend="sql-droprole"><command>DROP ROLE</command></link>. Any objects owned by the role must
first be dropped or reassigned to other owners; and any permissions
granted to the role must be revoked.
</para>
@@ -429,7 +429,7 @@ DROP ROLE <replaceable>name</replaceable>;
<programlisting>
ALTER TABLE bobs_table OWNER TO alice;
</programlisting>
- Alternatively, the <xref linkend="sql-reassign-owned"/> command can be
+ Alternatively, the <link linkend="sql-reassign-owned"><command>REASSIGN OWNED</command></link> command can be
used to reassign ownership of all objects owned by the role-to-be-dropped
to a single other role. Because <command>REASSIGN OWNED</command> cannot access
objects in other databases, it is necessary to run it in each database
@@ -442,7 +442,7 @@ ALTER TABLE bobs_table OWNER TO alice;
<para>
Once any valuable objects have been transferred to new owners, any
remaining objects owned by the role-to-be-dropped can be dropped with
- the <xref linkend="sql-drop-owned"/> command. Again, this command cannot
+ the <link linkend="sql-drop-owned"><command>DROP OWNED</command></link> command. Again, this command cannot
access objects in other databases, so it is necessary to run it in each
database that contains objects owned by the role. Also, <command>DROP
OWNED</command> will not drop entire databases or tablespaces, so it is
@@ -598,7 +598,7 @@ DROP ROLE doomed_role;
<para>
Administrators can grant access to these roles to users using the
- <xref linkend="sql-grant"/> command, for example:
+ <link linkend="sql-grant"><command>GRANT</command></link> command, for example:
<programlisting>
GRANT pg_signal_backend TO admin_user;
diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml
index f035866848c..36c2d21101b 100644
--- a/doc/src/sgml/xaggr.sgml
+++ b/doc/src/sgml/xaggr.sgml
@@ -490,7 +490,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
Also, because the final function performs the sort, it is not possible
to continue adding input rows by executing the transition function again
later. This means the final function is not <literal>READ_ONLY</literal>;
- it must be declared in <xref linkend="sql-createaggregate"/>
+ it must be declared in <link linkend="sql-createaggregate"><command>CREATE AGGREGATE</command></link>
as <literal>READ_WRITE</literal>, or as <literal>SHAREABLE</literal> if
it's possible for additional final-function calls to make use of the
already-sorted state.
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 0f60a4a0ab6..8c74c11d3b5 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -85,7 +85,7 @@
that a procedure does not return a value, so there is no return type
declaration. While a function is called as part of a query or DML
command, a procedure is called in isolation using
- the <xref linkend="sql-call"/> command. If the CALL command is not
+ the <link linkend="sql-call"><command>CALL</command></link> command. If the <command>CALL</command> command is not
part of an explicit transaction, a procedure in many server-side
languages can commit, rollback, and begin new transactions during
its execution, which is not possible in functions.
@@ -94,15 +94,15 @@
<para>
The explanations on how to define user-defined functions in the rest of
this chapter apply to procedures as well, except that
- the <xref linkend="sql-createprocedure"/> command is used instead, there is
+ the <link linkend="sql-createprocedure"><command>CREATE PROCEDURE</command></link> command is used instead, there is
no return type, and some other features such as strictness don't apply.
</para>
<para>
Collectively, functions and procedures are also known
as <firstterm>routines</firstterm><indexterm><primary>routine</primary></indexterm>.
- There are commands such as <xref linkend="sql-alterroutine"/>
- and <xref linkend="sql-droproutine"/> that can operate on functions and
+ There are commands such as <link linkend="sql-alterroutine"><command>ALTER ROUTINE</command></link>
+ and <link linkend="sql-droproutine"><command>DROP ROUTINE</command></link> that can operate on functions and
procedures without having to know which kind it is. Note, however, that
there is no <literal>CREATE ROUTINE</literal> command.
</para>
@@ -1531,7 +1531,7 @@ CREATE FUNCTION test(int, int) RETURNS int
Every function has a <firstterm>volatility</firstterm> classification, with
the possibilities being <literal>VOLATILE</literal>, <literal>STABLE</literal>, or
<literal>IMMUTABLE</literal>. <literal>VOLATILE</literal> is the default if the
- <xref linkend="sql-createfunction"/>
+ <link linkend="sql-createfunction"><command>CREATE FUNCTION</command></link>
command does not specify a category. The volatility category is a
promise to the optimizer about the behavior of the function:
@@ -3432,7 +3432,7 @@ if (!ptr)
<para>
Some basic facts can be supplied by declarative annotations provided in
- the <xref linkend="sql-createfunction"/> command. Most important of
+ the <link linkend="sql-createfunction"><command>CREATE FUNCTION</command></link> command. Most important of
these is the function's <link linkend="xfunc-volatility">volatility
category</link> (<literal>IMMUTABLE</literal>, <literal>STABLE</literal>,
or <literal>VOLATILE</literal>); one should always be careful to
diff --git a/doc/src/sgml/xplang.sgml b/doc/src/sgml/xplang.sgml
index 7f140930562..31d403c4806 100644
--- a/doc/src/sgml/xplang.sgml
+++ b/doc/src/sgml/xplang.sgml
@@ -103,7 +103,7 @@ CREATE FUNCTION <replaceable>handler_function_name</replaceable>()
<para>
Optionally, the language handler can provide an <quote>inline</quote>
handler function that executes anonymous code blocks
- (<xref linkend="sql-do"/> commands)
+ (<link linkend="sql-do"><command>DO</command></link> commands)
written in this language. If an inline handler function
is provided by the language, declare it with a command like
<synopsis>