aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>1999-05-20 05:40:27 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>1999-05-20 05:40:27 +0000
commit165b830ea5219ccaf7fad1bef65e2fe7c7b820e4 (patch)
treec0fd65c0b9919780d2be963e7fbc8eae5902db03
parent32cfa65e492b0250c8d26256524c5dfdfecb1a09 (diff)
downloadpostgresql-165b830ea5219ccaf7fad1bef65e2fe7c7b820e4.tar.gz
postgresql-165b830ea5219ccaf7fad1bef65e2fe7c7b820e4.zip
Add reference pages on user interface applications.
-rw-r--r--doc/src/sgml/ref/allfiles.sgml8
-rw-r--r--doc/src/sgml/ref/commands.sgml166
-rw-r--r--doc/src/sgml/ref/lock.sgml375
-rw-r--r--doc/src/sgml/ref/pgaccess-ref.sgml74
-rw-r--r--doc/src/sgml/ref/pgadmin-ref.sgml74
-rw-r--r--doc/src/sgml/ref/psql-ref.sgml2136
-rw-r--r--doc/src/sgml/ref/set.sgml1325
7 files changed, 2197 insertions, 1961 deletions
diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml
index dabbedf5fc5..385224a934f 100644
--- a/doc/src/sgml/ref/allfiles.sgml
+++ b/doc/src/sgml/ref/allfiles.sgml
@@ -62,7 +62,7 @@
<!entity close system "close.sgml">
<!entity cluster system "cluster.sgml">
<!entity commit system "commit.sgml">
-<!entity copy system "copy.sgml">
+<!entity copyTable system "copy.sgml">
<!entity createAggregate system "create_aggregate.sgml">
<!entity createDatabase system "create_database.sgml">
<!entity createFunction system "create_function.sgml">
@@ -117,8 +117,10 @@
<!entity destroyuser system "destroyuser.sgml">
<!entity initdb system "initdb.sgml">
<!entity initlocation system "initlocation.sgml">
-<!entity pgDump system "pg_dump.sgml">
-<!entity pgDumpall system "pg_dumpall.sgml">
+<!entity pgAccess system "pgaccess-ref.sgml">
+<!entity pgAdmin system "pgadmin-ref.sgml">
+<!entity pgDump system "pg_dump.sgml">
+<!entity pgDumpall system "pg_dumpall.sgml">
<!entity pgUpgrade system "pg_upgrade.sgml">
<!entity psqlRef system "psql-ref.sgml">
<!entity vacuumdb system "vacuumdb.sgml">
diff --git a/doc/src/sgml/ref/commands.sgml b/doc/src/sgml/ref/commands.sgml
index 005dbb4d6a9..770c3a20543 100644
--- a/doc/src/sgml/ref/commands.sgml
+++ b/doc/src/sgml/ref/commands.sgml
@@ -1,67 +1,69 @@
-<chapter id="sql-commands">
-<Title>SQL Commands</Title>
+ <chapter id="sql-commands">
+ <Title>SQL Commands</Title>
-<Para>
-This is reference information for the <acronym>SQL</acronym>
-commands supported by <productname>Postgres</productname>.
-</Para>
+ <abstract>
+ <Para>
+ This is reference information for the <acronym>SQL</acronym>
+ commands supported by <productname>Postgres</productname>.
+ </Para>
+ </abstract>
-&abort;
-&alterTable;
-&alterUser;
-&begin;
-&close;
-&cluster;
-&commit;
-&copy;
-&createAggregate;
-&createDatabase;
-&createFunction;
-&createIndex;
-&createLanguage;
-&createOperator;
-&createRule;
-&createSequence;
-&createTable;
-&createTrigger;
-&createType;
-&createUser;
-&createView;
-&declare;
-&delete;
-&dropAggregate;
-&dropDatabase;
-&dropFunction;
-&dropIndex;
-&dropLanguage;
-&dropOperator;
-&dropRule;
-&dropSequence;
-&dropTable;
-&dropTrigger;
-&dropType
-&dropUser;
-&dropView;
-&explain;
-&fetch;
-&grant;
-&insert;
-&listen;
-&load;
-&lock;
-&move;
-&notify;
-&reset;
-&revoke;
-&rollback;
-&select;
-&set;
-&show;
-&unlisten;
-&update;
-&vacuum;
-
-</Chapter>
+ &abort;
+ &alterTable;
+ &alterUser;
+ &begin;
+ &close;
+ &cluster;
+ &commit;
+ &copyTable;
+ &createAggregate;
+ &createDatabase;
+ &createFunction;
+ &createIndex;
+ &createLanguage;
+ &createOperator;
+ &createRule;
+ &createSequence;
+ &createTable;
+ &createTrigger;
+ &createType;
+ &createUser;
+ &createView;
+ &declare;
+ &delete;
+ &dropAggregate;
+ &dropDatabase;
+ &dropFunction;
+ &dropIndex;
+ &dropLanguage;
+ &dropOperator;
+ &dropRule;
+ &dropSequence;
+ &dropTable;
+ &dropTrigger;
+ &dropType
+ &dropUser;
+ &dropView;
+ &explain;
+ &fetch;
+ &grant;
+ &insert;
+ &listen;
+ &load;
+ &lock;
+ &move;
+ &notify;
+ &reset;
+ &revoke;
+ &rollback;
+ &select;
+ &set;
+ &show;
+ &unlisten;
+ &update;
+ &vacuum;
+
+ </Chapter>
<!--
Disable this chapter until we have more functions documented.
@@ -84,31 +86,35 @@ functions supported by <productname>Postgres</productname>.
-->
-<chapter Id="utilities">
-<title>Utility Applications</title>
+ <chapter Id="utilities">
+ <title>Utility Applications</title>
-<para>
-This is reference information for the
-<productname>Postgres</productname> support utilities.
-</para>
+ <abstract>
+ <para>
+ This is reference information for the
+ <productname>Postgres</productname> support utilities.
+ </para>
+ </abstract>
-&createdb;
-&createuser;
-&destroydb;
-&destroyuser;
-&initdb;
-&initlocation;
-&pgDump;
-&pgDumpall;
-&psqlRef;
-&vacuumdb;
+ &createdb;
+ &createuser;
+ &destroydb;
+ &destroyuser;
+ &initdb;
+ &initlocation;
+ &pgAccess;
+ &pgAdmin;
+ &pgDump;
+ &pgDumpall;
+ &psqlRef;
+ &vacuumdb;
-</chapter>
+ </chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
-sgml-omittag:t
+sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
diff --git a/doc/src/sgml/ref/lock.sgml b/doc/src/sgml/ref/lock.sgml
index 0d2c5047523..dc702b0cdb8 100644
--- a/doc/src/sgml/ref/lock.sgml
+++ b/doc/src/sgml/ref/lock.sgml
@@ -1,190 +1,207 @@
<REFENTRY ID="SQL-LOCK">
-<REFMETA>
-<REFENTRYTITLE>
-LOCK
-</REFENTRYTITLE>
-<REFMISCINFO>SQL - Language Statements</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>
-LOCK
-</REFNAME>
-<REFPURPOSE>
-Explicit lock of a table inside a transaction
-</REFPURPOSE>
- </refnamediv>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1998-09-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-LOCK [ TABLE ] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
-</SYNOPSIS>
+ <REFMETA>
+ <REFENTRYTITLE>
+ LOCK
+ </REFENTRYTITLE>
+ <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ LOCK
+ </REFNAME>
+ <REFPURPOSE>
+ Explicit lock of a table inside a transaction
+ </REFPURPOSE>
+ </refnamediv>
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1998-09-24</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
+ LOCK [ TABLE ] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
+ </SYNOPSIS>
- <REFSECT2 ID="R2-SQL-LOCK-1">
- <REFSECT2INFO>
- <DATE>1998-09-01</DATE>
- </REFSECT2INFO>
- <TITLE>
- Inputs
- </TITLE>
- <PARA>
- </PARA>
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of an existing table to lock.
- </para>
- </listitem>
- </varlistentry>
- </VARIABLELIST>
+ <REFSECT2 ID="R2-SQL-LOCK-1">
+ <REFSECT2INFO>
+ <DATE>1998-09-01</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
+ </PARA>
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ The name of an existing table to lock.
+ </para>
+ </listitem>
+ </varlistentry>
+ </VARIABLELIST>
- </REFSECT2>
+ </REFSECT2>
- <REFSECT2 ID="R2-SQL-LOCK-2">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Outputs
- </TITLE>
- <PARA>
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- DELETE 0
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned on a successful lock.
- <command>LOCK</command> is implemented as a
- <command>DELETE FROM <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE></command>
- which is guaranteed to not delete any rows.
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist.
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned if <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
- does not exist.
- </para>
- </listitem>
- </varlistentry>
- </VARIABLELIST>
- </para>
- </REFSECT2>
- </REFSYNOPSISDIV>
+ <REFSECT2 ID="R2-SQL-LOCK-2">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ DELETE 0
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Message returned on a successful lock.
+ <command>LOCK</command> is implemented as a
+ <command>DELETE FROM <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE></command>
+ which is guaranteed to not delete any rows.
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist.
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Message returned if <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
+ does not exist.
+ </para>
+ </listitem>
+ </varlistentry>
+ </VARIABLELIST>
+ </para>
+ </REFSECT2>
+ </REFSYNOPSISDIV>
- <REFSECT1 ID="R1-SQL-LOCK-1">
- <REFSECT1INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT1INFO>
- <TITLE>
- Description
- </TITLE>
- <PARA>
- <command>LOCK</command> locks in exclusive mode a table inside
- a transaction. The classic use for this is
- the case where you want to select some data, then
- update it inside a transaction.
- If you don't explicit lock a table using LOCK statement, it will be
- implicit locked only at the first
- <command>UPDATE</command>, <command>INSERT</command>,
- or <command>DELETE</command> operation.
- If you don't exclusive lock the table before the select, some
- other user may also read the selected data, and try and do
- their own update, causing a deadlock while you both wait
- for the other to release the select-induced shared lock so
- you can get an exclusive lock to do the update.
- </para>
- <para>
- Another example of deadlock is where one user locks one
- table, and another user locks a second table. While both
- keep their existing locks, the first user tries to lock
- the second user's table, and the second user tries to lock
- the first user's table. Both users deadlock waiting for
- the tables to become available. The only solution to this
- is for both users to lock tables in the same order, so
- user's lock acquisitions and requests to not form a deadlock.
- </para>
- <note>
- <para>
- <productname>Postgres</productname> does detect deadlocks and will
- rollback transactions to resolve the deadlock. Usually, at least one
- of the deadlocked transactions will complete successfully.
- </para>
- </note>
+ <REFSECT1 ID="R1-SQL-LOCK-1">
+ <REFSECT1INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <PARA>
+ <command>LOCK</command> locks in exclusive mode a table inside
+ a transaction. The classic use for this is
+ the case where you want to select some data, then
+ update it inside a transaction.
+ If you don't explicit lock a table using LOCK statement, it will be
+ implicit locked only at the first
+ <command>UPDATE</command>, <command>INSERT</command>,
+ or <command>DELETE</command> operation.
+ If you don't exclusive lock the table before the select, some
+ other user may also read the selected data, and try and do
+ their own update, causing a deadlock while you both wait
+ for the other to release the select-induced shared lock so
+ you can get an exclusive lock to do the update.
+ </para>
+ <para>
+ Another example of deadlock is where one user locks one
+ table, and another user locks a second table. While both
+ keep their existing locks, the first user tries to lock
+ the second user's table, and the second user tries to lock
+ the first user's table. Both users deadlock waiting for
+ the tables to become available. The only solution to this
+ is for both users to lock tables in the same order, so
+ user's lock acquisitions and requests to not form a deadlock.
+ </para>
+ <note>
+ <para>
+ <productname>Postgres</productname> does detect deadlocks and will
+ rollback transactions to resolve the deadlock. Usually, at least one
+ of the deadlocked transactions will complete successfully.
+ </para>
+ </note>
- <REFSECT2 ID="R2-SQL-LOCK-3">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Notes
- </TITLE>
- <para>
- <command>LOCK</command> is a <productname>Postgres</productname>
- language extension.
- </para>
- <para>
- <command>LOCK</command> works only inside transactions.
-
- <note>
- <title>Bug</title>
- <para>
- If the locked table is dropped then it will be automatically
- unlocked even if a transaction is still in progress.
- </para>
- </note>
- </para>
- </REFSECT2>
- </refsect1>
+ <REFSECT2 ID="R2-SQL-LOCK-3">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Notes
+ </TITLE>
+ <para>
+ <command>LOCK</command> is a <productname>Postgres</productname>
+ language extension.
+ </para>
+ <para>
+ <command>LOCK</command> works only inside transactions.
+
+ <note>
+ <title>Bug</title>
+ <para>
+ If the locked table is dropped then it will be automatically
+ unlocked even if a transaction is still in progress.
+ </para>
+ </note>
+ </para>
+ </REFSECT2>
+ </refsect1>
- <REFSECT1 ID="R1-SQL-LOCK-2">
- <TITLE>
- Usage
- </TITLE>
- <PARA>
- </PARA>
- <ProgramListing>
- --Explicit locking to prevent deadlock:
- --
- BEGIN WORK;
- LOCK films;
- SELECT * FROM films;
- UPDATE films SET len = INTERVAL '100 minute'
- WHERE len = INTERVAL '117 minute';
- COMMIT WORK;
- </ProgramListing>
+ <REFSECT1 ID="R1-SQL-LOCK-2">
+ <TITLE>
+ Usage
+ </TITLE>
+ <PARA>
+ </PARA>
+ <ProgramListing>
+ --Explicit locking to prevent deadlock:
+ --
+ BEGIN WORK;
+ LOCK films;
+ SELECT * FROM films;
+ UPDATE films SET len = INTERVAL '100 minute'
+ WHERE len = INTERVAL '117 minute';
+ COMMIT WORK;
+ </ProgramListing>
- </REFSECT1>
+ </REFSECT1>
- <REFSECT1 ID="R1-SQL-LOCK-3">
- <TITLE>
- Compatibility
- </TITLE>
+ <REFSECT1 ID="R1-SQL-LOCK-3">
+ <TITLE>
+ Compatibility
+ </TITLE>
- <REFSECT2 ID="R2-SQL-LOCK-4">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- SQL92
- </TITLE>
- <PARA>
- There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>,
- which instead uses <command>SET TRANSACTION</command> to specify
- concurrency level on transactions.
- </para>
- </refsect2>
- </refsect1>
+ <REFSECT2 ID="R2-SQL-LOCK-4">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ SQL92
+ </TITLE>
+ <PARA>
+ There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>,
+ which instead uses <command>SET TRANSACTION</command> to specify
+ concurrency level on transactions.
+ </para>
+ </refsect2>
+ </refsect1>
</REFENTRY>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/pgaccess-ref.sgml b/doc/src/sgml/ref/pgaccess-ref.sgml
new file mode 100644
index 00000000000..ec9b9a1b65a
--- /dev/null
+++ b/doc/src/sgml/ref/pgaccess-ref.sgml
@@ -0,0 +1,74 @@
+<REFENTRY ID="APP-PGACCESS">
+ <REFMETA>
+ <REFENTRYTITLE id="pgaccess-ref">
+ <application>pgaccess</application>
+ </REFENTRYTITLE>
+ <REFMISCINFO>Application</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ <application>pgaccess</application>
+ </REFNAME>
+ <REFPURPOSE>
+ <productname>Postgres</productname> graphical interactive client
+ </REFPURPOSE>
+ </refnamediv>
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1999-05-19</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
+pgaccess [ <replaceable class="parameter">dbname</replaceable> ]
+ </SYNOPSIS>
+
+ <REFSECT2 ID="R2-APP-PGACCESS-1">
+ <REFSECT2INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect2>
+
+ <REFSECT2 ID="R2-APP-PGACCESS-2">
+ <REFSECT2INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <REFSECT1 ID="R1-APP-PGACCESS-1">
+ <REFSECT1INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/pgadmin-ref.sgml b/doc/src/sgml/ref/pgadmin-ref.sgml
new file mode 100644
index 00000000000..476923a455d
--- /dev/null
+++ b/doc/src/sgml/ref/pgadmin-ref.sgml
@@ -0,0 +1,74 @@
+<REFENTRY ID="APP-PGADMIN">
+ <REFMETA>
+ <REFENTRYTITLE id="pgadmin-ref">
+ <application>pgadmin</application>
+ </REFENTRYTITLE>
+ <REFMISCINFO>Application</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ <application>pgadmin</application>
+ </REFNAME>
+ <REFPURPOSE>
+ <productname>Postgres</productname> graphical interactive client
+ </REFPURPOSE>
+ </refnamediv>
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1999-05-19</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
+pgadmin [ <replaceable class="parameter">dbname</replaceable> ]
+ </SYNOPSIS>
+
+ <REFSECT2 ID="R2-APP-PGADMIN-1">
+ <REFSECT2INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect2>
+
+ <REFSECT2 ID="R2-APP-PGADMIN-2">
+ <REFSECT2INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <REFSECT1 ID="R1-APP-PGADMIN-1">
+ <REFSECT1INFO>
+ <DATE>1999-05-19</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <PARA>
+ </para>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 96860281f94..454e4c0ec4f 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -1,1063 +1,1111 @@
<REFENTRY ID="APP-PSQL">
-<REFMETA>
-<REFENTRYTITLE id="psql-ref">
-<application>psql</application>
-</REFENTRYTITLE>
-<REFMISCINFO>Application</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>
-<application>psql</application>
-</REFNAME>
-<REFPURPOSE>
-<productname>Postgres</productname> interactive client
-</REFPURPOSE>
- </refnamediv>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1998-09-26</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
+ <REFMETA>
+ <REFENTRYTITLE id="psql-ref">
+ <application>psql</application>
+ </REFENTRYTITLE>
+ <REFMISCINFO>Application</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ <application>psql</application>
+ </REFNAME>
+ <REFPURPOSE>
+ <productname>Postgres</productname> interactive client
+ </REFPURPOSE>
+ </refnamediv>
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1998-09-26</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
psql [ <replaceable class="parameter">dbname</replaceable> ]
psql -A [ -c <replaceable class="parameter">query</replaceable> ] [ -d <replaceable class="parameter">dbname</replaceable> ]
-e -E [ -f <replaceable class="parameter">filename</replaceable> ] [ -F <replaceable class="parameter">separator</replaceable> ] [ -h <replaceable class="parameter">hostname</replaceable> ] -Hln
[ -o <replaceable class="parameter">filename</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ] -qsSt ] [ -T <replaceable class="parameter">table_options</replaceable> ] -ux [ <replaceable class="parameter">dbname</replaceable> ]
-</SYNOPSIS>
-
- <REFSECT2 ID="R2-APP-PSQL-1">
- <REFSECT2INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT2INFO>
- <TITLE>
- Inputs
- </TITLE>
- <PARA>
- <application>psql</application> accepts many command-line arguments,
- a rich set of meta-commands, and the full <acronym>SQL</acronym> language
- supported by <productname>Postgres</productname>. The most common
- command-line arguments are:
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">dbname</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of an existing database to access.
- <replaceable class="parameter">dbname</replaceable>
- defaults to the value of the
- <envar>USER</envar>
- environment variable or, if that's not set, to the Unix account name of the
- current user.
-
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
+ </SYNOPSIS>
+
+ <REFSECT2 ID="R2-APP-PSQL-1">
+ <REFSECT2INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
+ <application>psql</application> accepts many command-line arguments,
+ a rich set of meta-commands, and the full <acronym>SQL</acronym> language
+ supported by <productname>Postgres</productname>. The most common
+ command-line arguments are:
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <REPLACEABLE CLASS="PARAMETER">dbname</REPLACEABLE>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ The name of an existing database to access.
+ <replaceable class="parameter">dbname</replaceable>
+ defaults to the value of the
+ <envar>USER</envar>
+ environment variable or, if that's not set, to the Unix account name of the
+ current user.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+
+ <VARLISTENTRY>
+ <TERM>
+ -c <replaceable class="parameter">query</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ A single query to run. <application>psql</application> will exit on completion.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
- <VARLISTENTRY>
- <TERM>
- -c <replaceable class="parameter">query</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- A single query to run. <application>psql</application> will exit on completion.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
+ </variablelist>
+ </para>
+ <para>
+ The full set of command-line arguments and meta-commands are described in a subsequent
+ section.
+ </para>
+ <para>
+ There are some environment variables which can be used in liu of
+ command line arguments.
+ Additionally, the <productname>Postgres</productname> frontend library used by
+ the <application>psql</application> application
+ looks for other optional environment variables to configure, for example,
+ the style of date/time representation and the local time zone. Refer
+ to the chapter on <filename>libpq</filename> in the
+ <citetitle>Programmer's Guide</citetitle> for more details.
+ </para>
+ <para>
+ You may set any of the following environment variables to avoid
+ specifying command-line options:
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <envar>PGHOST</envar>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ The <acronym>DNS</acronym> host name of the database server.
+ Setting <envar>PGHOST</envar> to a non-zero-length string causes
+ <acronym>TCP/IP</acronym> communication
+ to be used, rather than the default local Unix domain sockets.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+
+ <VARLISTENTRY>
+ <TERM>
+ <envar>PGPORT</envar>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ The port number on which a <productname>Postgres</productname> server is listening.
+ Defaults to <literal>5432</literal>.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+
+ <VARLISTENTRY>
+ <TERM>
+ <envar>PGTTY</envar>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ The target for display of messages from the client support library.
+ Not required.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+
+ <VARLISTENTRY>
+ <TERM>
+ <envar>PGOPTION</envar>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ If <envar>PGOPTION</envar>
+ is specified, then the options it contains are parsed
+ <emphasis>before</emphasis>
+ any command-line options.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+
+ <VARLISTENTRY>
+ <TERM>
+ <envar>PGREALM</envar>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ <envar>PGREALM</envar>
+ only applies if
+ <productname>Kerberos</productname>
+ authentication is in use.
+ If this environment variable is set, <productname>Postgres</productname>
+ will attempt authentication with servers for this realm and will use
+ separate ticket files to avoid conflicts with local ticket files.
+ See the <citetitle>PostgreSQL Administrator's Guide</citetitle>
+ for additional information on
+ <productname>Kerberos</productname>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect2>
+
+ <REFSECT2 ID="R2-APP-PSQL-2">
+ <REFSECT2INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+ <application>psql</application>
+ returns 0 to the shell on successful completion of all queries,
+ 1 for errors, 2 for abrupt disconnection from the backend.
+ The default TAB delimiter is used.
+ <application>psql</application>
+ will also return 1 if the connection to a database could not be made for
+ any reason.
+ </para>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <REFSECT1 ID="R1-APP-PSQL-1">
+ <REFSECT1INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <PARA>
+ <application>psql</application> is a character-based front-end to
+ <productname>Postgres</productname>.
+ It enables you to
+ type in queries interactively, issue them to <productname>Postgres</productname>,
+ and see the query
+ results.
+ </para>
+ <para>
+ <application>psql</application>
+ is a <productname>Postgres</productname> client application. Hence, a
+ <application>postmaster</application> process
+ must be running on the database server host before
+ <application>psql</application>
+ is executed. In addition, the correct parameters to identify
+ the database server, such as the
+ <application>postmaster</application> host name,
+ may need to be specified
+ as described below.
+ </para>
+ <para>
+ When
+ <application>psql</application>
+ starts, it reads SQL commands from
+ <filename>/etc/psqlrc</filename>
+ and then from
+ <filename>$(<envar>HOME</envar>)/.psqlrc</filename>
+ This allows SQL commands like
+ <command>SET</command>
+ which can be used to set the date style to be run at the start of
+ every session.
+ </para>
+
+ <REFSECT2 ID="R2-APP-PSQL-3">
+ <REFSECT2INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Connecting To A Database
+ </TITLE>
+ <para>
+ <application>psql</application>
+ attempts to make a connection to the database at the hostname and
+ port number specified on the command line. If the connection could not
+ be made for any reason (e.g. insufficient privileges, postmaster is not
+ running on the server, etc)
+ .IR <application>psql</application>
+ will return an error that says
+ <programlisting>
+ Connection to database failed.
+ </programlisting>
+ The reason for the connection failure is not provided.
+ </para>
+ </refsect2>
+
+ <REFSECT2 ID="R2-APP-PSQL-4">
+ <REFSECT2INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Entering Queries
+ </TITLE>
+ <para>
+ In normal operation,
+ <application>psql</application> provides a prompt with the name of the
+ database that <application>psql</application> is current connected to
+ followed by the string "=>".
+ For example,
+ <programlisting>
+$ <userinput>psql testdb</userinput>
+Welcome to the POSTGRESQL interactive sql monitor:
+ Please read the file COPYRIGHT for copyright terms of POSTGRESQL
+[PostgreSQL 6.5.0 on i686-pc-linux-gnu, compiled by gcc 2.7.2.3]
+
+ type \? for help on slash commands
+ type \q to quit
+ type \g or terminate with semicolon to execute query
+ You are currently connected to the database: testdb
- </variablelist>
+testdb=>
+ </programlisting>
+ </para>
+ <para>
+ At the prompt, the user may type in <acronym>SQL</acronym> queries.
+ Unless the -S option
+ is set, input lines are sent to the backend when a query-terminating
+ semicolon is reached.
+ </para>
+ <para>
+ Whenever a query is executed,
+ <application>psql</application> also polls for asynchronous notification
+ events generated by <command>LISTEN</command> and <command>NOTIFY</command>.
+ </para>
+ <para>
+ <application>psql</application>
+ can be used in a pipe sequence, and automatically detects when it
+ is not listening or talking to a real tty.
+ </para>
+ </refsect2>
+
+ <refsect2 id="R2-APP-PSQL-5">
+ <Title>Paging To Screen</Title>
+
+ <Note>
+ <Title>Author</Title>
+ <Para>
+ From Brett McCormick on the mailing list 1998-04-04.
+ </Para>
+ </Note>
+
+ <Para>
+ To affect the paging behavior of your <Command>psql</Command> output,
+ set or unset your PAGER environment variable. I always have to set mine
+ before it will pause. And of course you have to do this before
+ starting the program.
+ </para>
+
+ <Para>
+ In csh/tcsh or other C shells:
+
+ <ProgramListing>
+% unsetenv PAGER
+ </ProgramListing>
+
+ while in sh/bash or other Bourne shells:
+
+ <ProgramListing>
+% unset PAGER
+ </ProgramListing>
+ </para>
+ </refsect2>
+ </refsect1>
+
+ <REFSECT1 ID="R1-APP-PSQL-2">
+ <REFSECT1INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Command-line Options
+ </TITLE>
+ <para>
+ <application>psql</application>
+ understands the following command-line options:
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ -A
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Turn off fill justification when printing out table elements.
</para>
- <para>
- The full set of command-line arguments and meta-commands are described in a subsequent
- section.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -c <replaceable class="parameter">query</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Specifies that
+ <application>psql</application>
+ is to execute one query string,
+ <replaceable class="parameter">query</replaceable>,
+ and then exit. This is useful for shell scripts, typically in
+ conjunction with the <option>-q</option> option in shell scripts.
</para>
- <para>
- There are some environment variables which can be used in liu of
- command line arguments.
- Additionally, the <productname>Postgres</productname> frontend library used by
- the <application>psql</application> application
- looks for other optional environment variables to configure, for example,
- the style of date/time representation and the local time zone. Refer
- to the chapter on <filename>libpq</filename> in the
- <citetitle>Programmer's Guide</citetitle> for more details.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -d <replaceable class="parameter">dbname</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Specifies the name of the database to connect to. This is equivalent to specifying
+ <replaceable class="parameter">dbname</replaceable> as the last field in the
+ command line.
</para>
- <para>
- You may set any of the following environment variables to avoid
- specifying command-line options:
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <envar>PGHOST</envar>
- </TERM>
- <LISTITEM>
- <PARA>
- The <acronym>DNS</acronym> host name of the database server.
- Setting <envar>PGHOST</envar> to a non-zero-length string causes
- <acronym>TCP/IP</acronym> communication
- to be used, rather than the default local Unix domain sockets.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- <envar>PGPORT</envar>
- </TERM>
- <LISTITEM>
- <PARA>
- The port number on which a <productname>Postgres</productname> server is listening.
- Defaults to <literal>5432</literal>.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- <envar>PGTTY</envar>
- </TERM>
- <LISTITEM>
- <PARA>
- The target for display of messages from the client support library.
- Not required.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- <envar>PGOPTION</envar>
- </TERM>
- <LISTITEM>
- <PARA>
- If <envar>PGOPTION</envar>
- is specified, then the options it contains are parsed
- <emphasis>before</emphasis>
- any command-line options.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- <envar>PGREALM</envar>
- </TERM>
- <LISTITEM>
- <PARA>
- <envar>PGREALM</envar>
- only applies if
- <productname>Kerberos</productname>
- authentication is in use.
- If this environment variable is set, <productname>Postgres</productname>
- will attempt authentication with servers for this realm and will use
- separate ticket files to avoid conflicts with local ticket files.
- See the <citetitle>PostgreSQL Administrator's Guide</citetitle>
- for additional information on
- <productname>Kerberos</productname>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -e
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Echo the query sent to the backend
</para>
- </refsect2>
-
- <REFSECT2 ID="R2-APP-PSQL-2">
- <REFSECT2INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT2INFO>
- <TITLE>
- Outputs
- </TITLE>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -E
+ </TERM>
+ <LISTITEM>
<PARA>
-
- <application>psql</application>
- returns 0 to the shell on successful completion of all queries,
- 1 for errors, 2 for abrupt disconnection from the backend.
- The default TAB delimiter is used.
- <application>psql</application>
- will also return 1 if the connection to a database could not be made for
- any reason.
+ Echo the actual query generated by \d and other backslash commands
</para>
- </refsect2>
- </refsynopsisdiv>
-
- <REFSECT1 ID="R1-APP-PSQL-1">
- <REFSECT1INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT1INFO>
- <TITLE>
- Description
- </TITLE>
- <PARA>
- <application>psql</application> is a character-based front-end to
- <productname>Postgres</productname>.
- It enables you to
- type in queries interactively, issue them to <productname>Postgres</productname>,
- and see the query
- results.
- </para>
- <para>
- <application>psql</application>
- is a <productname>Postgres</productname> client application. Hence, a
- <application>postmaster</application> process
- must be running on the database server host before
- <application>psql</application>
- is executed. In addition, the correct parameters to identify
- the database server, such as the
- <application>postmaster</application> host name,
- may need to be specified
- as described below.
- </para>
- <para>
- When
- <application>psql</application>
- starts, it reads SQL commands from
- <filename>/etc/psqlrc</filename>
- and then from
- <filename>$(<envar>HOME</envar>)/.psqlrc</filename>
- This allows SQL commands like
- <command>SET</command>
- which can be used to set the date style to be run at the start of
- every session.
- </para>
-
- <REFSECT2 ID="R2-APP-PSQL-3">
- <REFSECT2INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT2INFO>
- <TITLE>
- Connecting To A Database
- </TITLE>
- <para>
- <application>psql</application>
- attempts to make a connection to the database at the hostname and
- port number specified on the command line. If the connection could not
- be made for any reason (e.g. insufficient privileges, postmaster is not
- running on the server, etc)
- .IR <application>psql</application>
- will return an error that says
- <programlisting>
- Connection to database failed.
- </programlisting>
- The reason for the connection failure is not provided.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -f <replaceable class="parameter">filename</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Use the file <replaceable class="parameter">filename</replaceable>
+ as the source of queries instead of reading queries interactively.
+ This file must be specified for and visible to the client frontend.
</para>
- </refsect2>
-
- <REFSECT2 ID="R2-APP-PSQL-4">
- <REFSECT2INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT2INFO>
- <TITLE>
- Entering Queries
- </TITLE>
- <para>
- In normal operation,
- <application>psql</application> provides a prompt with the name of the
- database that <application>psql</application> is current connected to
- followed by the string "=>".
- For example,
- <programlisting>
- $ <userinput>psql testdb</userinput>
- Welcome to the POSTGRESQL interactive sql monitor:
- Please read the file COPYRIGHT for copyright terms of POSTGRESQL
-
- type \e? for help on slash commands
- type \eq to quit
- type \eg or terminate with semicolon to execute query
- You are currently connected to the database: testdb
-
- testdb=>
- </programlisting>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -F <replaceable class="parameter">separator</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Use <replaceable class="parameter">separator</replaceable>
+ as the field separator.
+ The default is an ASCII vertical bar ("|").
</para>
- <para>
- At the prompt, the user may type in <acronym>SQL</acronym> queries.
- Unless the -S option
- is set, input lines are sent to the backend when a query-terminating
- semicolon is reached.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -h <replaceable class="parameter">hostname</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Specifies the host name of the machine on which the
+ <application>postmaster</application>
+ is running.
+ Without this option, communication is performed using
+ local Unix domain sockets.
</para>
- <para>
- Whenever a query is executed,
- <application>psql</application> also polls for asynchronous notification
- events generated by <command>LISTEN</command> and <command>NOTIFY</command>.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -H
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Turns on
+ <acronym>HTML 3.0</acronym>
+ tabular output.
</para>
- <para>
- <application>psql</application>
- can be used in a pipe sequence, and automatically detects when it
- is not listening or talking to a real tty.
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -l
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Lists all available databases, then exit. Other non-connection options are ignored.
</para>
- </refsect2>
- </refsect1>
-
- <REFSECT1 ID="R1-APP-PSQL-2">
- <REFSECT1INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT1INFO>
- <TITLE>
- Command-line Options
- </TITLE>
- <para>
- <application>psql</application>
- understands the following command-line options:
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- -A
- </TERM>
- <LISTITEM>
- <PARA>
- Turn off fill justification when printing out table elements.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -c <replaceable class="parameter">query</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Specifies that
- <application>psql</application>
- is to execute one query string,
- <replaceable class="parameter">query</replaceable>,
- and then exit. This is useful for shell scripts, typically in
- conjunction with the <option>-q</option> option in shell scripts.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -d <replaceable class="parameter">dbname</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Specifies the name of the database to connect to. This is equivalent to specifying
- <replaceable class="parameter">dbname</replaceable> as the last field in the
- command line.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -e
- </TERM>
- <LISTITEM>
- <PARA>
- Echo the query sent to the backend
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -E
- </TERM>
- <LISTITEM>
- <PARA>
- Echo the actual query generated by \d and other backslash commands
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -f <replaceable class="parameter">filename</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Use the file <replaceable class="parameter">filename</replaceable>
- as the source of queries instead of reading queries interactively.
- This file must be specified for and visible to the client frontend.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -F <replaceable class="parameter">separator</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Use <replaceable class="parameter">separator</replaceable>
- as the field separator.
- The default is an ASCII vertical bar ("|").
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -h <replaceable class="parameter">hostname</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Specifies the host name of the machine on which the
- <application>postmaster</application>
- is running.
- Without this option, communication is performed using
- local Unix domain sockets.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -H
- </TERM>
- <LISTITEM>
- <PARA>
- Turns on
- <acronym>HTML 3.0</acronym>
- tabular output.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -l
- </TERM>
- <LISTITEM>
- <PARA>
- Lists all available databases, then exit. Other non-connection options are ignored.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -n
- </TERM>
- <LISTITEM>
- <PARA>
- Do not use the readline library for input line editing and command history.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -o <replaceable class="parameter">filename</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Put all output into file <replaceable class="parameter">filename</replaceable>.
- The path must be writable by the client.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -p <replaceable class="parameter">port</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Specifies the TCP/IP port or, by omission, the local Unix domain socket file
- extension on which the
- <application>postmaster</application>
- is listening for connections. Defaults to the value of the
- <envar>PGPORT</envar>
- environment variable, if set, or to 5432.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -q
- </TERM>
- <LISTITEM>
- <PARA>
- Specifies that
- <application>psql</application>
- should do its work quietly. By default, it
- prints welcome and exit messages and prompts for each query, and prints
- out the number of rows returned from a query.
- If this option is used, none of this happens. This is useful with the
- <option>-c</option> option.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -s
- </TERM>
- <LISTITEM>
- <PARA>
- Run in single-step mode where the user is prompted for each query before
- it is sent to the backend.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -S
- </TERM>
- <LISTITEM>
- <PARA>
- Runs in single-line mode where each query is terminated by a newline,
- instead of a semicolon.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -t
- </TERM>
- <LISTITEM>
- <PARA>
- Turn off printing of column names.
- This is useful with the
- <option>-c</option>
- option in shell scripts.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -T <replaceable class="parameter">table_options</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Allows you to specify options to be placed within the
- <sgmltag>table ...</sgmltag> tag for <acronym>HTML 3.0</acronym>
- tabular output.For example, <literal>border</literal>
- will give you tables with borders.
- This must be used in conjunction with the <option>-H</option> option.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -u
- </TERM>
- <LISTITEM>
- <PARA>
- Asks the user for the user name and password before connecting to the database.
- If the database does not require password authentication then these are
- ignored. If the option is not used (and the PGPASSWORD environment variable
- is not set) and the database requires password authentication, then the
- connection will fail. The user name is ignored anyway.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- -x
- </TERM>
- <LISTITEM>
- <PARA>
- Turns on extended row format mode. When enabled each row will have its column
- names printed on the left with the column values printed on the right.
- This is useful for rows which are otherwise too long to fit into
- one screen line. HTML row output supports this mode also.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- You may set environment variables to avoid typing some of the above
- options. See the section on environment variables below.
- </para>
- </refsect1>
-
- <REFSECT1 ID="R1-APP-PSQL-3">
- <REFSECT1INFO>
- <DATE>1998-09-26</DATE>
- </REFSECT1INFO>
- <TITLE>
- <application>psql</application> Meta-Commands
- </TITLE>
- <para>
- Anything you enter in <application>psql</application>
- that begins with an unquoted backslash is a <application>psql</application>
- meta-command. Anything else is <acronym>SQL</acronym>
- and simply goes into the current query buffer
- (and once you have at least one complete query, it gets automatically
- submitted to the backend).
- <Application>psql</Application> meta-commands are also called slash commands.
- </para>
- <para>
- The format of a <application>psql</application> command is the backslash,
- followed immediately by
- a command verb, then any arguments. The arguments are separated from the
- command verb and each other by any number of white space characters.
- </para>
- <para>
- With single character command verbs, you don't actually need to separate the
- command verb from the argument with white space, for historical reasons.
- You should anyway.
- </para>
- <para>
- The following meta-commands are defined:
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <literal>\a</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Toggle field alignment when printing out table elements.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\C</literal> <replaceable class="parameter">caption</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Set the HTML3.0 table caption to
- <quote><replaceable class="parameter">caption</replaceable></quote>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\connect</literal> <replaceable class="parameter">dbname</replaceable> [ <replaceable class="parameter">username</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Establish a connection to a new database, using the default
- <replaceable class="parameter">username</replaceable> if none is specified.
- The previous connection is closed.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\copy</literal> <replaceable class="parameter">dbname</replaceable> { FROM | TO } <replaceable class="parameter">filename</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Perform a frontend (client) copy. This is an operation that runs a SQL COPY command,
- but instead of the backend reading or writing the specified file, and
- consequently requiring backend access and special user privilege,
- <application>psql</application> reads or writes the
- file and routes the data to or from the backend. The default <literal>tab</literal>
- delimiter is used.
- </para>
- <tip>
- <para>
- This operation is not as efficient as the <acronym>SQL</acronym>
- <command>COPY</command> command because all data must pass through the
- client/server IP or socket connection. For large amounts of data this other
- technique may be preferable.
- </para>
- </tip>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\d</literal> [ <replaceable class="parameter">table</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- List tables in the database, or if <replaceable class="parameter">table</replaceable>
- is specified, list the columns in that table.
- If table name is specified as an asterisk (<quote>*</quote>),
- list all tables and column information for each tables.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\da</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List all available aggregates.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\dd</literal> <replaceable class="parameter">object</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- List the description from <literal>pg_description</literal>
- of the specified object, which can be a
- table, table.column, type, operator, or aggregate.
- </para>
- <tip>
- <para>
- Not all objects have a description in <literal>pg_description</literal>.
- This meta-command can be useful to get a quick description of a native
- <productname>Postgres</productname> feature.
- </para>
- </tip>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\df</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List functions.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\di</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List only indexes.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\do</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List only operators.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\ds</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List only sequences.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\dS</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List system tables and indexes.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\dt</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List only non-system tables.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\dT</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List types.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\e</literal> [ <replaceable class="parameter">filename</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Edit the current query buffer or the contents of the file
- <replaceable class="parameter">filename</replaceable>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\E</literal> [ <replaceable class="parameter">filename</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Edit the current query buffer or the contents of the file
- <replaceable class="parameter">filename</replaceable>
- and execute it upon editor exit.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\f</literal> [ <replaceable class="parameter">separator</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Set the field separator. Default is a single blank space.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\g</literal> [ { <replaceable class="parameter">filename</replaceable> | <literal>|</literal><replaceable class="parameter">command</replaceable> } ]
- </TERM>
- <LISTITEM>
- <PARA>
- Send the current query input buffer to the backend and optionally
- save the output in <replaceable class="parameter">filename</replaceable>
- or pipe the output into a separate Unix shell to execute
- <replaceable class="parameter">command</replaceable>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\h</literal> [ <replaceable class="parameter">command</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Give syntax help on the specified SQL command.
- If <replaceable class="parameter">command</replaceable> is not a defined SQL command
- (or is not documented in <application>psql</application>), or if
- <replaceable class="parameter">command</replaceable> is not specified,
- then <application>psql</application> will
- list all the commands for which syntax help is
- available. If <replaceable class="parameter">command</replaceable>
- is an asterisk (<quote>*</quote>), then
- give syntax help on all SQL commands.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\H</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Toggle <acronym>HTML3</acronym> output. This is equivalent to the <option>-H</option>
- command-line option.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\i</literal> <replaceable class="parameter">filename</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Read queries from the file <replaceable class="parameter">filename</replaceable>
- into the query input buffer.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\l</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- List all the databases in the server.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\m</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Toggle the old monitor-like table display, which includes border characters
- surrounding the table.
- This is standard SQL output.
- By default, <application>psql</application> includes only field separators
- between columns.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\o</literal> [ { <replaceable class="parameter">filename</replaceable> | <literal>|</literal><replaceable class="parameter">command</replaceable> } ]
- </TERM>
- <LISTITEM>
- <PARA>
- Save future query results to the file
- <replaceable class="parameter">filename</replaceable> or pipe future
- results into a separate Unix shell to execute
- <replaceable class="parameter">command</replaceable>.
- If no arguments are specified, send query results to
- <filename>stdout</filename>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\p</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Print the current query buffer.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\q</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Quit the <application>psql</application> program.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\r</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Reset(clear) the query buffer.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\s</literal> [ <replaceable class="parameter">filename</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Print or save the command line history to
- <replaceable class="parameter">filename</replaceable>.
- If <replaceable class="parameter">filename</replaceable> is omitted,
- do not save subsequent commands to a history file.
- This option is only available if <application>psql</application> is
- configured to use readline.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\t</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Toggle display of output column name headings and row count footer (defaults to on).
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\T</literal> <replaceable class="parameter">table_options</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Allows you to specify options to be placed within the
- <sgmltag>table ...</sgmltag> tag
- for <acronym>HTML 3.0</acronym>
- tabular output.For example, <literal>border</literal>
- will give you tables with borders.
- This must be used in conjunction with the <command>\H</command> meta-command.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\x</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Toggles extended row format mode. When enabled each row will have its column
- names printed on the left with the column values printed on the right.
- This is useful for rows which are otherwise too long to fit into
- one screen line. <acronym>HTML</acronym> row output mode supports this flag too.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\w</literal> <replaceable class="parameter">filename</replaceable>
- </TERM>
- <LISTITEM>
- <PARA>
- Outputs the current query buffer to the file
- <replaceable class="parameter">filename</replaceable>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\z</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Produces a list of all tables in the database with their appropriate ACLs
- (grant/revoke permissions) listed.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\!</literal> [ <replaceable class="parameter">command</replaceable> ]
- </TERM>
- <LISTITEM>
- <PARA>
- Escape to a separate Unix shell or execute the Unix command
- <replaceable class="parameter">command</replaceable>.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <literal>\?</literal>
- </TERM>
- <LISTITEM>
- <PARA>
- Get help information about the slash (<quote>\</quote>) commands.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </refsect1>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -n
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Do not use the readline library for input line editing and command history.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -o <replaceable class="parameter">filename</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Put all output into file <replaceable class="parameter">filename</replaceable>.
+ The path must be writable by the client.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -p <replaceable class="parameter">port</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Specifies the TCP/IP port or, by omission, the local Unix domain socket file
+ extension on which the
+ <application>postmaster</application>
+ is listening for connections. Defaults to the value of the
+ <envar>PGPORT</envar>
+ environment variable, if set, or to 5432.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -q
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Specifies that
+ <application>psql</application>
+ should do its work quietly. By default, it
+ prints welcome and exit messages and prompts for each query, and prints
+ out the number of rows returned from a query.
+ If this option is used, none of this happens. This is useful with the
+ <option>-c</option> option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -s
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Run in single-step mode where the user is prompted for each query before
+ it is sent to the backend.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -S
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Runs in single-line mode where each query is terminated by a newline,
+ instead of a semicolon.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -t
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Turn off printing of column names.
+ This is useful with the
+ <option>-c</option>
+ option in shell scripts.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -T <replaceable class="parameter">table_options</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Allows you to specify options to be placed within the
+ <sgmltag>table ...</sgmltag> tag for <acronym>HTML 3.0</acronym>
+ tabular output.For example, <literal>border</literal>
+ will give you tables with borders.
+ This must be used in conjunction with the <option>-H</option> option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -u
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Asks the user for the user name and password before connecting to the database.
+ If the database does not require password authentication then these are
+ ignored. If the option is not used (and the PGPASSWORD environment variable
+ is not set) and the database requires password authentication, then the
+ connection will fail. The user name is ignored anyway.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ -x
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Turns on extended row format mode. When enabled each row will have its column
+ names printed on the left with the column values printed on the right.
+ This is useful for rows which are otherwise too long to fit into
+ one screen line. HTML row output supports this mode also.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ You may set environment variables to avoid typing some of the above
+ options. See the section on environment variables below.
+ </para>
+ </refsect1>
+
+ <REFSECT1 ID="R1-APP-PSQL-3">
+ <REFSECT1INFO>
+ <DATE>1998-09-26</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ <application>psql</application> Meta-Commands
+ </TITLE>
+ <para>
+ Anything you enter in <application>psql</application>
+ that begins with an unquoted backslash is a <application>psql</application>
+ meta-command. Anything else is <acronym>SQL</acronym>
+ and simply goes into the current query buffer
+ (and once you have at least one complete query, it gets automatically
+ submitted to the backend).
+ <Application>psql</Application> meta-commands are also called slash commands.
+ </para>
+ <para>
+ The format of a <application>psql</application> command is the backslash,
+ followed immediately by
+ a command verb, then any arguments. The arguments are separated from the
+ command verb and each other by any number of white space characters.
+ </para>
+ <para>
+ With single character command verbs, you don't actually need to separate the
+ command verb from the argument with white space, for historical reasons.
+ You should anyway.
+ </para>
+ <para>
+ The following meta-commands are defined:
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\a</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Toggle field alignment when printing out table elements.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\C</literal> <replaceable class="parameter">caption</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Set the HTML3.0 table caption to
+ <quote><replaceable class="parameter">caption</replaceable></quote>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\connect</literal> <replaceable class="parameter">dbname</replaceable> [ <replaceable class="parameter">username</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Establish a connection to a new database, using the default
+ <replaceable class="parameter">username</replaceable> if none is specified.
+ The previous connection is closed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\copy</literal> <replaceable class="parameter">dbname</replaceable> { FROM | TO } <replaceable class="parameter">filename</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Perform a frontend (client) copy. This is an operation that runs a SQL COPY command,
+ but instead of the backend reading or writing the specified file, and
+ consequently requiring backend access and special user privilege,
+ <application>psql</application> reads or writes the
+ file and routes the data to or from the backend. The default <literal>tab</literal>
+ delimiter is used.
+ </para>
+ <tip>
+ <para>
+ This operation is not as efficient as the <acronym>SQL</acronym>
+ <command>COPY</command> command because all data must pass through the
+ client/server IP or socket connection. For large amounts of data this other
+ technique may be preferable.
+ </para>
+ </tip>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\d</literal> [ <replaceable class="parameter">table</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List tables in the database, or if <replaceable class="parameter">table</replaceable>
+ is specified, list the columns in that table.
+ If table name is specified as an asterisk (<quote>*</quote>),
+ list all tables and column information for each tables.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\da</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List all available aggregates.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\dd</literal> <replaceable class="parameter">object</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List the description from <literal>pg_description</literal>
+ of the specified object, which can be a
+ table, table.column, type, operator, or aggregate.
+ </para>
+ <tip>
+ <para>
+ Not all objects have a description in <literal>pg_description</literal>.
+ This meta-command can be useful to get a quick description of a native
+ <productname>Postgres</productname> feature.
+ </para>
+ </tip>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\df</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List functions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\di</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List only indexes.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\do</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List only operators.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\ds</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List only sequences.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\dS</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List system tables and indexes.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\dt</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List only non-system tables.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\dT</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List types.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\e</literal> [ <replaceable class="parameter">filename</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Edit the current query buffer or the contents of the file
+ <replaceable class="parameter">filename</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\E</literal> [ <replaceable class="parameter">filename</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Edit the current query buffer or the contents of the file
+ <replaceable class="parameter">filename</replaceable>
+ and execute it upon editor exit.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\f</literal> [ <replaceable class="parameter">separator</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Set the field separator. Default is a single blank space.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\g</literal> [ { <replaceable class="parameter">filename</replaceable> | <literal>|</literal><replaceable class="parameter">command</replaceable> } ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Send the current query input buffer to the backend and optionally
+ save the output in <replaceable class="parameter">filename</replaceable>
+ or pipe the output into a separate Unix shell to execute
+ <replaceable class="parameter">command</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\h</literal> [ <replaceable class="parameter">command</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Give syntax help on the specified SQL command.
+ If <replaceable class="parameter">command</replaceable> is not a defined SQL command
+ (or is not documented in <application>psql</application>), or if
+ <replaceable class="parameter">command</replaceable> is not specified,
+ then <application>psql</application> will
+ list all the commands for which syntax help is
+ available. If <replaceable class="parameter">command</replaceable>
+ is an asterisk (<quote>*</quote>), then
+ give syntax help on all SQL commands.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\H</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Toggle <acronym>HTML3</acronym> output. This is equivalent to the <option>-H</option>
+ command-line option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\i</literal> <replaceable class="parameter">filename</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Read queries from the file <replaceable class="parameter">filename</replaceable>
+ into the query input buffer.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\l</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ List all the databases in the server.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\m</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Toggle the old monitor-like table display, which includes border characters
+ surrounding the table.
+ This is standard SQL output.
+ By default, <application>psql</application> includes only field separators
+ between columns.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\o</literal> [ { <replaceable class="parameter">filename</replaceable> | <literal>|</literal><replaceable class="parameter">command</replaceable> } ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Save future query results to the file
+ <replaceable class="parameter">filename</replaceable> or pipe future
+ results into a separate Unix shell to execute
+ <replaceable class="parameter">command</replaceable>.
+ If no arguments are specified, send query results to
+ <filename>stdout</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\p</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Print the current query buffer.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\q</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Quit the <application>psql</application> program.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\r</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Reset(clear) the query buffer.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\s</literal> [ <replaceable class="parameter">filename</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Print or save the command line history to
+ <replaceable class="parameter">filename</replaceable>.
+ If <replaceable class="parameter">filename</replaceable> is omitted,
+ do not save subsequent commands to a history file.
+ This option is only available if <application>psql</application> is
+ configured to use readline.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\t</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Toggle display of output column name headings and row count footer (defaults to on).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\T</literal> <replaceable class="parameter">table_options</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Allows you to specify options to be placed within the
+ <sgmltag>table ...</sgmltag> tag
+ for <acronym>HTML 3.0</acronym>
+ tabular output.For example, <literal>border</literal>
+ will give you tables with borders.
+ This must be used in conjunction with the <command>\H</command> meta-command.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\x</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Toggles extended row format mode. When enabled each row will have its column
+ names printed on the left with the column values printed on the right.
+ This is useful for rows which are otherwise too long to fit into
+ one screen line. <acronym>HTML</acronym> row output mode supports this flag too.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\w</literal> <replaceable class="parameter">filename</replaceable>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Outputs the current query buffer to the file
+ <replaceable class="parameter">filename</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\z</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Produces a list of all tables in the database with their appropriate ACLs
+ (grant/revoke permissions) listed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\!</literal> [ <replaceable class="parameter">command</replaceable> ]
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Escape to a separate Unix shell or execute the Unix command
+ <replaceable class="parameter">command</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <literal>\?</literal>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Get help information about the slash (<quote>\</quote>) commands.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect1>
</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml
index bac4c069148..12c9e47fcc5 100644
--- a/doc/src/sgml/ref/set.sgml
+++ b/doc/src/sgml/ref/set.sgml
@@ -1,689 +1,704 @@
<REFENTRY ID="SQL-SET">
-<REFMETA>
-<REFENTRYTITLE>
-SET
-</REFENTRYTITLE>
-<REFMISCINFO>SQL - Language Statements</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>
-SET
-</REFNAME>
-<REFPURPOSE>
+ <REFMETA>
+ <REFENTRYTITLE>
+ SET
+ </REFENTRYTITLE>
+ <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ SET
+ </REFNAME>
+ <REFPURPOSE>
Set run-time parameters for session
-</REFPURPOSE>
- </refnamediv>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1998-09-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-<REPLACEABLE CLASS="PARAMETER">
-</REPLACEABLE>
+ </REFPURPOSE>
+ </refnamediv>
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1998-09-24</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
SET <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE> { TO | = } { '<REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE>' | DEFAULT }
SET TIME ZONE { '<REPLACEABLE CLASS="PARAMETER">timezone</REPLACEABLE>' | LOCAL };
-</SYNOPSIS>
+ </SYNOPSIS>
- <REFSECT2 ID="R2-SQL-SET-1">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Inputs
- </TITLE>
- <PARA>
+ <REFSECT2 ID="R2-SQL-SET-1">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <para>
- Settable global parameter.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE>
- </term>
- <listitem>
- <PARA>
- New value of parameter.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- The possible variables and allowed values are:
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE>
+ </TERM>
+ <LISTITEM>
+ <para>
+ Settable global parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE>
+ </term>
+ <listitem>
+ <PARA>
+ New value of parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ The possible variables and allowed values are:
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- DateStyle
- </TERM>
- <LISTITEM>
- <PARA>
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ DateStyle
+ </TERM>
+ <LISTITEM>
+ <PARA>
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ ISO
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use ISO 8601-style dates and times
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ SQL
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use Oracle/Ingres-style dates and times
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ Postgres
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use traditional <productname>Postgres</productname> format
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ European
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use dd/mm/yyyy for numeric date representations.
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ NonEuropean
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use mm/dd/yyyy for numeric date representations.
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ German
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ use dd.mm.yyyy for numeric date representations.
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ US
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ same as 'NonEuropean'
+ </para>
+ </listitem>
+ </varlistentry>
+ <VARLISTENTRY>
+ <TERM>
+ default
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ restores the default values ('US,Postgres')
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ Date format initialization my be done by:
+ <simplelist>
+ <member>
+ Setting PGDATESTYLE environment variable.
+ </member>
+ <member>
+ Running postmaster using -oe parameter to set
+ dates to the 'European' convention.
+ Note that this affects only the some combinations of date styles; for example
+ the ISO style is not affected by this parameter.
+ </member>
+ <member>
+ Changing variables in
+ <filename>src/backend/utils/init/globals.c</filename>.
+ </member>
+ </simplelist>
+ </para>
+ <para>
+ The variables in <filename>globals.c</filename> which can be changed are:
+ <simplelist>
+ <member>
+ bool EuroDates = false | true
+ </member>
+ <member>
+ int DateStyle = USE_ISO_DATES | USE_POSTGRES_DATES | USE_SQL_DATES | USE_GERMAN_DATES
+ </member>
+ </simplelist>
+
+ </para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>
+ TIMEZONE
+ </term>
+ <listitem>
+ <para>
+ The possible values for timezone depends on your operating
+ system. For example on Linux /usr/lib/zoneinfo contains the
+ database of timezones.
+ </para>
+ <para>
+ Here are some valid values for timezone:
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- ISO
- </TERM>
- <LISTITEM>
- <PARA>
- use ISO 8601-style dates and times
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- SQL
- </TERM>
- <LISTITEM>
- <PARA>
- use Oracle/Ingres-style dates and times
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- Postgres
- </TERM>
- <LISTITEM>
- <PARA>
- use traditional <productname>Postgres</productname> format
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- European
- </TERM>
- <LISTITEM>
- <PARA>
- use dd/mm/yyyy for numeric date representations.
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- NonEuropean
- </TERM>
- <LISTITEM>
- <PARA>
- use mm/dd/yyyy for numeric date representations.
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- German
- </TERM>
- <LISTITEM>
- <PARA>
- use dd.mm.yyyy for numeric date representations.
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- US
- </TERM>
- <LISTITEM>
- <PARA>
- same as 'NonEuropean'
- </para>
- </listitem>
- </varlistentry>
- <VARLISTENTRY>
- <TERM>
- default
- </TERM>
- <LISTITEM>
- <PARA>
- restores the default values ('US,Postgres')
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
+ <variablelist>
+ <varlistentry>
+ <term>
+ 'PST8PDT'
+ </term>
+ <listitem>
+ <para>
+ set the timezone for California
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ 'Portugal'
+ </term>
+ <listitem>
+ <para>
+ set time zone for Portugal.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ 'Europe/Rome'
+ </term>
+ <listitem>
+ <para>
+ set time zone for Italy.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
+ <para>
+ set time zone to your local timezone
+ (value of the TZ environment variable).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ If an invalid time zone is specified, the time zone
+ becomes GMT (on most systems anyway).
+ </para>
+ <para>
+ A frontend which uses libpq may be initialized by setting the PGTZ
+ environment variable.
+ </para>
+ <para>
+ The second syntax shown above, allows one to set the timezone
+ with a syntax similar to SQL92 <command>SET TIME ZONE</command>.
+ The LOCAL keyword is just an alternate form
+ of DEFAULT for SQL92 compatibility.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ There are also several internal or optimization
+ parameters which can be specified
+ by the <command>SET</command> command:
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ COST_HEAP
+ </term>
+ <listitem>
+ <para>
+ Sets the default cost of a heap scan for use by the optimizer.
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ <replaceable class="parameter">float4</replaceable>
+ </term>
+ <listitem>
+ <para>
+ Set the cost of a heap scan to the specified floating point value.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
+ <para>
+ Sets the cost of a heap scan to the default value.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ The frontend may be initialized by setting the PGCOSTHEAP
+ environment variable.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>
+ COST_INDEX
+ </term>
+ <listitem>
<para>
- Date format initialization my be done by:
- <simplelist>
- <member>
- Setting PGDATESTYLE environment variable.
- </member>
- <member>
- Running postmaster using -oe parameter to set
- dates to the 'European' convention.
- Note that this affects only the some combinations of date styles; for example
- the ISO style is not affected by this parameter.
- </member>
- <member>
- Changing variables in
- <filename>src/backend/utils/init/globals.c</filename>.
- </member>
- </simplelist>
+ Sets the default cost of an index scan for use by the optimizer.
</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <replaceable class="parameter">float4</replaceable>
+ </term>
+ <listitem>
<para>
- The variables in <filename>globals.c</filename> which can be changed are:
- <programlisting>
- bool EuroDates = false
- true
- int DateStyle = USE_ISO_DATES
- USE_POSTGRES_DATES
- USE_ISO_DATES
- USE_SQL_DATES
- USE_GERMAN_DATES
- </programlisting>
+ Set the cost of an index scan to the specified floating point value.
</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
<para>
- <variablelist>
- <varlistentry>
- <term>
- TIMEZONE
- </term>
- <listitem>
- <para>
- The possible values for timezone depends on your operating
- system. For example on Linux /usr/lib/zoneinfo contains the
- database of timezones.
- </para>
- <para>
- Here are some valid values for timezone:
-
- <variablelist>
- <varlistentry>
- <term>
- 'PST8PDT'
- </term>
- <listitem>
- <para>
- set the timezone for California
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- 'Portugal'
- </term>
- <listitem>
- <para>
- set time zone for Portugal.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- 'Europe/Rome'
- </term>
- <listitem>
- <para>
- set time zone for Italy.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- set time zone to your local timezone
- (value of the TZ environment variable).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- If an invalid time zone is specified, the time zone
- becomes GMT (on most systems anyway).
- </para>
- <para>
- A frontend which uses libpq may be initialized by setting the PGTZ
- environment variable.
- </para>
- <para>
- The second syntax shown above, allows one to set the timezone
- with a syntax similar to SQL92 <command>SET TIME ZONE</command>.
- The LOCAL keyword is just an alternate form
- of DEFAULT for SQL92 compatibility.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ Sets the cost of an index scan to the default value.
</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ The frontend may be initialized by setting the PGCOSTINDEX
+ environment variable.
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ GEQO
+ </term>
+ <listitem>
+ <para>
+ Sets the threshold for using the genetic optimizer algorithm.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ On
+ </term>
+ <listitem>
<para>
- There are also several internal or optimization
- parameters which can be specified
- by the <command>SET</command> command:
-
- <variablelist>
- <varlistentry>
- <term>
- COST_HEAP
- </term>
- <listitem>
- <para>
- Sets the default cost of a heap scan for use by the optimizer.
-
- <variablelist>
- <varlistentry>
- <term>
- <replaceable class="parameter">float4</replaceable>
- </term>
- <listitem>
- <para>
- Set the cost of a heap scan to the specified floating point value.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- Sets the cost of a heap scan to the default value.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- The frontend may be initialized by setting the PGCOSTHEAP
- environment variable.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- COST_INDEX
- </term>
- <listitem>
- <para>
- Sets the default cost of an index scan for use by the optimizer.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <replaceable class="parameter">float4</replaceable>
- </term>
- <listitem>
- <para>
- Set the cost of an index scan to the specified floating point value.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- Sets the cost of an index scan to the default value.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- </variablelist>
+ enables the genetic optimizer algorithm
+ for statements with 6 or more tables.
</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ On=<replaceable class="parameter">#</replaceable>
+ </term>
+ <listitem>
<para>
- The frontend may be initialized by setting the PGCOSTINDEX
- environment variable.
-
- <variablelist>
- <varlistentry>
- <term>
- GEQO
- </term>
- <listitem>
- <para>
- Sets the threshold for using the genetic optimizer algorithm.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- On
- </term>
- <listitem>
- <para>
- enables the genetic optimizer algorithm
- for statements with 6 or more tables.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- On=<replaceable class="parameter">#</replaceable>
- </term>
- <listitem>
- <para>
- Takes an integer argument to enable the genetic optimizer algorithm
- for statements with <replaceable class="parameter">#</replaceable>
- or more tables in the query.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Off
- </term>
- <listitem>
- <para>
- disables the genetic optimizer algorithm.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- Equivalent to specifying <command>SET GEQO='on'</command>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- </variablelist>
+ Takes an integer argument to enable the genetic optimizer algorithm
+ for statements with <replaceable class="parameter">#</replaceable>
+ or more tables in the query.
</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ Off
+ </term>
+ <listitem>
<para>
- This algorithm is on by default, which used GEQO for
- statements of eleven or more tables.
- (See the chapter on GEQO in the Programmer's Guide
- for more information).
+ disables the genetic optimizer algorithm.
</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
<para>
- The frontend may be initialized by setting PGGEQO
- environment variable.
+ Equivalent to specifying <command>SET GEQO='on'</command>
</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ This algorithm is on by default, which used GEQO for
+ statements of eleven or more tables.
+ (See the chapter on GEQO in the Programmer's Guide
+ for more information).
+ </para>
+ <para>
+ The frontend may be initialized by setting PGGEQO
+ environment variable.
+ </para>
+ <para>
+ It may be useful when joining big relations with
+ small ones. This algorithm is off by default.
+ It's not used by GEQO anyway.
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ KSQO
+ </term>
+ <listitem>
+ <para>
+ <firstterm>Key Set Query Optimizer</firstterm> forces the query optimizer
+ to optimize repetative OR clauses such as generated by
+ <productname>MicroSoft Access</productname>:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ On
+ </term>
+ <listitem>
<para>
- It may be useful when joining big relations with
- small ones. This algorithm is off by default.
- It's not used by GEQO anyway.
-
- <variablelist>
- <varlistentry>
- <term>
- KSQO
- </term>
- <listitem>
- <para>
- <firstterm>Key Set Query Optimizer</firstterm> forces the query optimizer
- to optimize repetative OR clauses such as generated by
- <productname>MicroSoft Access</productname>:
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- On
- </term>
- <listitem>
- <para>
- enables this optimization.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- Off
- </term>
- <listitem>
- <para>
- disables this optimization.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- Equivalent to specifying <command>SET KSQO='off'</command>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- </variablelist>
+ enables this optimization.
</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ Off
+ </term>
+ <listitem>
<para>
- It may be useful when joining big relations with
- small ones. This algorithm is off by default.
- It's not used by GEQO anyway.
+ disables this optimization.
</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
<para>
- The frontend may be initialized by setting the PGKSQO
- environment variable.
- <variablelist>
- <varlistentry>
- <term>
- QUERY_LIMIT
- </term>
- <listitem>
- <para>
- Sets the number of rows returned by a query.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- Value
- </term>
- <listitem>
- <para>
- Maximum number of rows to return for a query. The default is to allow
- an unlimited number of rows.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <replaceable class="parameter">#</replaceable>
- </term>
- <listitem>
- <para>
- Sets the maximum number of rows returned by a
- query to <replaceable class="parameter">#</replaceable>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- DEFAULT
- </term>
- <listitem>
- <para>
- Sets the maximum number of rows returned by a query to be unlimited.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- By default, there is no limit to the number of rows
- returned by a query.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ Equivalent to specifying <command>SET KSQO='off'</command>.
</para>
- </REFSECT2>
-
- <REFSECT2 ID="R2-SQL-SET-2">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Outputs
- </TITLE>
- <PARA>
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <returnvalue>SET VARIABLE</returnvalue>
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned if successfully.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <returnvalue>WARN: Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)</returnvalue>
- </TERM>
- <LISTITEM>
- <PARA>
- If the command fails to set variable.
- </para>
- </listitem>
- </varlistentry>
-
- </VARIABLELIST>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ It may be useful when joining big relations with
+ small ones. This algorithm is off by default.
+ It's not used by GEQO anyway.
+ </para>
+ <para>
+ The frontend may be initialized by setting the PGKSQO
+ environment variable.
+ <variablelist>
+ <varlistentry>
+ <term>
+ QUERY_LIMIT
+ </term>
+ <listitem>
+ <para>
+ Sets the number of rows returned by a query.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ Value
+ </term>
+ <listitem>
+ <para>
+ Maximum number of rows to return for a query. The default is to allow
+ an unlimited number of rows.
</para>
- </REFSECT2>
- </REFSYNOPSISDIV>
-
- <REFSECT1 ID="R1-SQL-SET-1">
- <REFSECT1INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT1INFO>
- <TITLE>
- Description
- </TITLE>
- <PARA>
- <command>SET</command> will modify configuration parameters for variable during
- a session.
- </para>
- <para>
- Current values can be obtained using <command>SHOW</command>, and values
- can be restored to the defaults using <command>RESET</command>.
- Parameters and values are case-insensitive. Note that the value
- field is always specified as a string, so is enclosed in
- single-quotes.
- </para>
- <para>
- <command>SET TIME ZONE</command> changes the session's
- default time zone offset.
- A SQL-session always begins with an initial default time zone
- offset.
- The <command>SET TIME ZONE</command> statement is used to change the default
- time zone offset for the current SQL session.
- </para>
-
- <REFSECT2 ID="R2-SQL-SET-3">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Notes
- </TITLE>
- <PARA>
- The <command>SET <replaceable class="parameter">variable</replaceable></command>
- statement is a <productname>Postgres</productname> language extension.
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <replaceable class="parameter">#</replaceable>
+ </term>
+ <listitem>
+ <para>
+ Sets the maximum number of rows returned by a
+ query to <replaceable class="parameter">#</replaceable>.
</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ DEFAULT
+ </term>
+ <listitem>
<para>
- Refer to <command>SHOW</command> and <command>RESET</command> to
- display or reset the current values.
+ Sets the maximum number of rows returned by a query to be unlimited.
</para>
- </REFSECT2>
- </REFSECT1>
-
- <REFSECT1 ID="R1-SQL-SET-2">
- <TITLE>
- Usage
- </TITLE>
- <PARA>
- </PARA>
- <ProgramListing>
- --Set the style of date to ISO:
- --
- SET DATESTYLE TO 'ISO';
- </programlisting>
- <programlisting>
- --Enable GEQO for queries with 4 or more tables
- --
- SET GEQO ON=4;
- </programlisting>
- <programlisting>
- --Set GEQO to default:
- --
- SET GEQO = DEFAULT;
- </programlisting>
- <programlisting>
- --set the timezone for Berkeley, California:
- SET TIME ZONE 'PST8PDT';
-
- SELECT CURRENT_TIMESTAMP AS today;
-
- today
- ----------------------
- 1998-03-31 07:41:21-08
- </programlisting>
- <programlisting>
- --set the timezone for Italy:
- SET TIME ZONE 'Europe/Rome';
-
- SELECT CURRENT_TIMESTAMP AS today;
-
- today
- ----------------------
- 1998-03-31 17:41:31+02
- </ProgramListing>
-
- </REFSECT1>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ By default, there is no limit to the number of rows
+ returned by a query.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </REFSECT2>
+
+ <REFSECT2 ID="R2-SQL-SET-2">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <returnvalue>SET VARIABLE</returnvalue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ Message returned if successfully.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <VARLISTENTRY>
+ <TERM>
+ <returnvalue>WARN: Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)</returnvalue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ If the command fails to set variable.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </VARIABLELIST>
+ </para>
+ </REFSECT2>
+ </REFSYNOPSISDIV>
+
+ <REFSECT1 ID="R1-SQL-SET-1">
+ <REFSECT1INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <PARA>
+ <command>SET</command> will modify configuration parameters for variable during
+ a session.
+ </para>
+ <para>
+ Current values can be obtained using <command>SHOW</command>, and values
+ can be restored to the defaults using <command>RESET</command>.
+ Parameters and values are case-insensitive. Note that the value
+ field is always specified as a string, so is enclosed in
+ single-quotes.
+ </para>
+ <para>
+ <command>SET TIME ZONE</command> changes the session's
+ default time zone offset.
+ A SQL-session always begins with an initial default time zone
+ offset.
+ The <command>SET TIME ZONE</command> statement is used to change the default
+ time zone offset for the current SQL session.
+ </para>
+
+ <REFSECT2 ID="R2-SQL-SET-3">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Notes
+ </TITLE>
+ <PARA>
+ The <command>SET <replaceable class="parameter">variable</replaceable></command>
+ statement is a <productname>Postgres</productname> language extension.
+ </para>
+ <para>
+ Refer to <command>SHOW</command> and <command>RESET</command> to
+ display or reset the current values.
+ </para>
+ </REFSECT2>
+ </REFSECT1>
+
+ <REFSECT1 ID="R1-SQL-SET-2">
+ <TITLE>
+ Usage
+ </TITLE>
+ <PARA>
+ </PARA>
+ <ProgramListing>
+ --Set the style of date to ISO:
+ --
+ SET DATESTYLE TO 'ISO';
+ </programlisting>
+ <programlisting>
+ --Enable GEQO for queries with 4 or more tables
+ --
+ SET GEQO ON=4;
+ </programlisting>
+ <programlisting>
+ --Set GEQO to default:
+ --
+ SET GEQO = DEFAULT;
+ </programlisting>
+ <programlisting>
+ --set the timezone for Berkeley, California:
+ SET TIME ZONE 'PST8PDT';
+
+ SELECT CURRENT_TIMESTAMP AS today;
+
+ today
+ ----------------------
+ 1998-03-31 07:41:21-08
+ </programlisting>
+ <programlisting>
+ --set the timezone for Italy:
+ SET TIME ZONE 'Europe/Rome';
+
+ SELECT CURRENT_TIMESTAMP AS today;
+
+ today
+ ----------------------
+ 1998-03-31 17:41:31+02
+ </ProgramListing>
+
+ </REFSECT1>
- <REFSECT1 ID="R1-SQL-SET-3">
- <TITLE>
- Compatibility
- </TITLE>
- <PARA>
- </PARA>
-
- <REFSECT2 ID="R2-SQL-SET-4">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- SQL92
- </TITLE>
- <PARA>
- There is no
- <command>SET <replaceable class="parameter">variable</replaceable></command>
- in <acronym>SQL92</acronym>.
-
- The <acronym>SQL92</acronym> syntax for <command>SET TIME ZONE</command>
- is slightly different,
- allowing only a single integer value for time zone specification:
-
- <programlisting>
- SET TIME ZONE { interval_value_expression | LOCAL }
- </programlisting>
- </para>
- </refsect2>
- </refsect1>
+ <REFSECT1 ID="R1-SQL-SET-3">
+ <TITLE>
+ Compatibility
+ </TITLE>
+ <PARA>
+ </PARA>
+
+ <REFSECT2 ID="R2-SQL-SET-4">
+ <REFSECT2INFO>
+ <DATE>1998-09-24</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ SQL92
+ </TITLE>
+ <PARA>
+ There is no
+ <command>SET <replaceable class="parameter">variable</replaceable></command>
+ in <acronym>SQL92</acronym>.
+
+ The <acronym>SQL92</acronym> syntax for <command>SET TIME ZONE</command>
+ is slightly different,
+ allowing only a single integer value for time zone specification:
+
+ <programlisting>
+ SET TIME ZONE { interval_value_expression | LOCAL }
+ </programlisting>
+ </para>
+ </refsect2>
+ </refsect1>
</REFENTRY>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->