Add reference pages on user interface applications.

This commit is contained in:
Thomas G. Lockhart 1999-05-20 05:40:27 +00:00
parent 32cfa65e49
commit 165b830ea5
7 changed files with 2185 additions and 1949 deletions

View File

@ -62,7 +62,7 @@
<!entity close system "close.sgml"> <!entity close system "close.sgml">
<!entity cluster system "cluster.sgml"> <!entity cluster system "cluster.sgml">
<!entity commit system "commit.sgml"> <!entity commit system "commit.sgml">
<!entity copy system "copy.sgml"> <!entity copyTable system "copy.sgml">
<!entity createAggregate system "create_aggregate.sgml"> <!entity createAggregate system "create_aggregate.sgml">
<!entity createDatabase system "create_database.sgml"> <!entity createDatabase system "create_database.sgml">
<!entity createFunction system "create_function.sgml"> <!entity createFunction system "create_function.sgml">
@ -117,8 +117,10 @@
<!entity destroyuser system "destroyuser.sgml"> <!entity destroyuser system "destroyuser.sgml">
<!entity initdb system "initdb.sgml"> <!entity initdb system "initdb.sgml">
<!entity initlocation system "initlocation.sgml"> <!entity initlocation system "initlocation.sgml">
<!entity pgDump system "pg_dump.sgml"> <!entity pgAccess system "pgaccess-ref.sgml">
<!entity pgDumpall system "pg_dumpall.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 pgUpgrade system "pg_upgrade.sgml">
<!entity psqlRef system "psql-ref.sgml"> <!entity psqlRef system "psql-ref.sgml">
<!entity vacuumdb system "vacuumdb.sgml"> <!entity vacuumdb system "vacuumdb.sgml">

View File

@ -1,67 +1,69 @@
<chapter id="sql-commands"> <chapter id="sql-commands">
<Title>SQL Commands</Title> <Title>SQL Commands</Title>
<Para> <abstract>
This is reference information for the <acronym>SQL</acronym> <Para>
commands supported by <productname>Postgres</productname>. This is reference information for the <acronym>SQL</acronym>
</Para> commands supported by <productname>Postgres</productname>.
</Para>
</abstract>
&abort; &abort;
&alterTable; &alterTable;
&alterUser; &alterUser;
&begin; &begin;
&close; &close;
&cluster; &cluster;
&commit; &commit;
&copy; &copyTable;
&createAggregate; &createAggregate;
&createDatabase; &createDatabase;
&createFunction; &createFunction;
&createIndex; &createIndex;
&createLanguage; &createLanguage;
&createOperator; &createOperator;
&createRule; &createRule;
&createSequence; &createSequence;
&createTable; &createTable;
&createTrigger; &createTrigger;
&createType; &createType;
&createUser; &createUser;
&createView; &createView;
&declare; &declare;
&delete; &delete;
&dropAggregate; &dropAggregate;
&dropDatabase; &dropDatabase;
&dropFunction; &dropFunction;
&dropIndex; &dropIndex;
&dropLanguage; &dropLanguage;
&dropOperator; &dropOperator;
&dropRule; &dropRule;
&dropSequence; &dropSequence;
&dropTable; &dropTable;
&dropTrigger; &dropTrigger;
&dropType &dropType
&dropUser; &dropUser;
&dropView; &dropView;
&explain; &explain;
&fetch; &fetch;
&grant; &grant;
&insert; &insert;
&listen; &listen;
&load; &load;
&lock; &lock;
&move; &move;
&notify; &notify;
&reset; &reset;
&revoke; &revoke;
&rollback; &rollback;
&select; &select;
&set; &set;
&show; &show;
&unlisten; &unlisten;
&update; &update;
&vacuum; &vacuum;
</Chapter> </Chapter>
<!-- <!--
Disable this chapter until we have more functions documented. Disable this chapter until we have more functions documented.
@ -84,31 +86,35 @@ functions supported by <productname>Postgres</productname>.
--> -->
<chapter Id="utilities"> <chapter Id="utilities">
<title>Utility Applications</title> <title>Utility Applications</title>
<para> <abstract>
This is reference information for the <para>
<productname>Postgres</productname> support utilities. This is reference information for the
</para> <productname>Postgres</productname> support utilities.
</para>
</abstract>
&createdb; &createdb;
&createuser; &createuser;
&destroydb; &destroydb;
&destroyuser; &destroyuser;
&initdb; &initdb;
&initlocation; &initlocation;
&pgDump; &pgAccess;
&pgDumpall; &pgAdmin;
&psqlRef; &pgDump;
&vacuumdb; &pgDumpall;
&psqlRef;
&vacuumdb;
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-omittag:t sgml-omittag:nil
sgml-shorttag:t sgml-shorttag:t
sgml-minimize-attributes:nil sgml-minimize-attributes:nil
sgml-always-quote-attributes:t sgml-always-quote-attributes:t

View File

@ -1,190 +1,207 @@
<REFENTRY ID="SQL-LOCK"> <REFENTRY ID="SQL-LOCK">
<REFMETA> <REFMETA>
<REFENTRYTITLE> <REFENTRYTITLE>
LOCK LOCK
</REFENTRYTITLE> </REFENTRYTITLE>
<REFMISCINFO>SQL - Language Statements</REFMISCINFO> <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
</REFMETA> </REFMETA>
<REFNAMEDIV> <REFNAMEDIV>
<REFNAME> <REFNAME>
LOCK LOCK
</REFNAME> </REFNAME>
<REFPURPOSE> <REFPURPOSE>
Explicit lock of a table inside a transaction Explicit lock of a table inside a transaction
</REFPURPOSE> </REFPURPOSE>
</refnamediv> </refnamediv>
<REFSYNOPSISDIV> <REFSYNOPSISDIV>
<REFSYNOPSISDIVINFO> <REFSYNOPSISDIVINFO>
<DATE>1998-09-24</DATE> <DATE>1998-09-24</DATE>
</REFSYNOPSISDIVINFO> </REFSYNOPSISDIVINFO>
<SYNOPSIS> <SYNOPSIS>
LOCK [ TABLE ] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> LOCK [ TABLE ] <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
</SYNOPSIS> </SYNOPSIS>
<REFSECT2 ID="R2-SQL-LOCK-1"> <REFSECT2 ID="R2-SQL-LOCK-1">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1998-09-01</DATE> <DATE>1998-09-01</DATE>
</REFSECT2INFO> </REFSECT2INFO>
<TITLE> <TITLE>
Inputs Inputs
</TITLE> </TITLE>
<PARA> <PARA>
</PARA> </PARA>
<VARIABLELIST> <VARIABLELIST>
<VARLISTENTRY> <VARLISTENTRY>
<TERM> <TERM>
<REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
</TERM> </TERM>
<LISTITEM> <LISTITEM>
<PARA> <PARA>
The name of an existing table to lock. The name of an existing table to lock.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</VARIABLELIST> </VARIABLELIST>
</REFSECT2> </REFSECT2>
<REFSECT2 ID="R2-SQL-LOCK-2"> <REFSECT2 ID="R2-SQL-LOCK-2">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1998-09-24</DATE> <DATE>1998-09-24</DATE>
</REFSECT2INFO> </REFSECT2INFO>
<TITLE> <TITLE>
Outputs Outputs
</TITLE> </TITLE>
<PARA> <PARA>
<VARIABLELIST> <VARIABLELIST>
<VARLISTENTRY> <VARLISTENTRY>
<TERM> <TERM>
DELETE 0 DELETE 0
</TERM> </TERM>
<LISTITEM> <LISTITEM>
<PARA> <PARA>
Message returned on a successful lock. Message returned on a successful lock.
<command>LOCK</command> is implemented as a <command>LOCK</command> is implemented as a
<command>DELETE FROM <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE></command> <command>DELETE FROM <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE></command>
which is guaranteed to not delete any rows. which is guaranteed to not delete any rows.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<VARLISTENTRY> <VARLISTENTRY>
<TERM> <TERM>
ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist. ERROR <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>: Table does not exist.
</TERM> </TERM>
<LISTITEM> <LISTITEM>
<PARA> <PARA>
Message returned if <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> Message returned if <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE>
does not exist. does not exist.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</VARIABLELIST> </VARIABLELIST>
</para> </para>
</REFSECT2> </REFSECT2>
</REFSYNOPSISDIV> </REFSYNOPSISDIV>
<REFSECT1 ID="R1-SQL-LOCK-1"> <REFSECT1 ID="R1-SQL-LOCK-1">
<REFSECT1INFO> <REFSECT1INFO>
<DATE>1998-09-24</DATE> <DATE>1998-09-24</DATE>
</REFSECT1INFO> </REFSECT1INFO>
<TITLE> <TITLE>
Description Description
</TITLE> </TITLE>
<PARA> <PARA>
<command>LOCK</command> locks in exclusive mode a table inside <command>LOCK</command> locks in exclusive mode a table inside
a transaction. The classic use for this is a transaction. The classic use for this is
the case where you want to select some data, then the case where you want to select some data, then
update it inside a transaction. update it inside a transaction.
If you don't explicit lock a table using LOCK statement, it will be If you don't explicit lock a table using LOCK statement, it will be
implicit locked only at the first implicit locked only at the first
<command>UPDATE</command>, <command>INSERT</command>, <command>UPDATE</command>, <command>INSERT</command>,
or <command>DELETE</command> operation. or <command>DELETE</command> operation.
If you don't exclusive lock the table before the select, some If you don't exclusive lock the table before the select, some
other user may also read the selected data, and try and do other user may also read the selected data, and try and do
their own update, causing a deadlock while you both wait their own update, causing a deadlock while you both wait
for the other to release the select-induced shared lock so for the other to release the select-induced shared lock so
you can get an exclusive lock to do the update. you can get an exclusive lock to do the update.
</para> </para>
<para> <para>
Another example of deadlock is where one user locks one Another example of deadlock is where one user locks one
table, and another user locks a second table. While both table, and another user locks a second table. While both
keep their existing locks, the first user tries to lock keep their existing locks, the first user tries to lock
the second user's table, and the second 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 first user's table. Both users deadlock waiting for
the tables to become available. The only solution to this the tables to become available. The only solution to this
is for both users to lock tables in the same order, so is for both users to lock tables in the same order, so
user's lock acquisitions and requests to not form a deadlock. user's lock acquisitions and requests to not form a deadlock.
</para> </para>
<note> <note>
<para> <para>
<productname>Postgres</productname> does detect deadlocks and will <productname>Postgres</productname> does detect deadlocks and will
rollback transactions to resolve the deadlock. Usually, at least one rollback transactions to resolve the deadlock. Usually, at least one
of the deadlocked transactions will complete successfully. of the deadlocked transactions will complete successfully.
</para> </para>
</note> </note>
<REFSECT2 ID="R2-SQL-LOCK-3"> <REFSECT2 ID="R2-SQL-LOCK-3">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1998-09-24</DATE> <DATE>1998-09-24</DATE>
</REFSECT2INFO> </REFSECT2INFO>
<TITLE> <TITLE>
Notes Notes
</TITLE> </TITLE>
<para> <para>
<command>LOCK</command> is a <productname>Postgres</productname> <command>LOCK</command> is a <productname>Postgres</productname>
language extension. language extension.
</para> </para>
<para> <para>
<command>LOCK</command> works only inside transactions. <command>LOCK</command> works only inside transactions.
<note> <note>
<title>Bug</title> <title>Bug</title>
<para> <para>
If the locked table is dropped then it will be automatically If the locked table is dropped then it will be automatically
unlocked even if a transaction is still in progress. unlocked even if a transaction is still in progress.
</para> </para>
</note> </note>
</para> </para>
</REFSECT2> </REFSECT2>
</refsect1> </refsect1>
<REFSECT1 ID="R1-SQL-LOCK-2"> <REFSECT1 ID="R1-SQL-LOCK-2">
<TITLE> <TITLE>
Usage Usage
</TITLE> </TITLE>
<PARA> <PARA>
</PARA> </PARA>
<ProgramListing> <ProgramListing>
--Explicit locking to prevent deadlock: --Explicit locking to prevent deadlock:
-- --
BEGIN WORK; BEGIN WORK;
LOCK films; LOCK films;
SELECT * FROM films; SELECT * FROM films;
UPDATE films SET len = INTERVAL '100 minute' UPDATE films SET len = INTERVAL '100 minute'
WHERE len = INTERVAL '117 minute'; WHERE len = INTERVAL '117 minute';
COMMIT WORK; COMMIT WORK;
</ProgramListing> </ProgramListing>
</REFSECT1> </REFSECT1>
<REFSECT1 ID="R1-SQL-LOCK-3"> <REFSECT1 ID="R1-SQL-LOCK-3">
<TITLE> <TITLE>
Compatibility Compatibility
</TITLE> </TITLE>
<REFSECT2 ID="R2-SQL-LOCK-4"> <REFSECT2 ID="R2-SQL-LOCK-4">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1998-09-24</DATE> <DATE>1998-09-24</DATE>
</REFSECT2INFO> </REFSECT2INFO>
<TITLE> <TITLE>
SQL92 SQL92
</TITLE> </TITLE>
<PARA> <PARA>
There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>, There is no <command>LOCK TABLE</command> in <acronym>SQL92</acronym>,
which instead uses <command>SET TRANSACTION</command> to specify which instead uses <command>SET TRANSACTION</command> to specify
concurrency level on transactions. concurrency level on transactions.
</para> </para>
</refsect2> </refsect2>
</refsect1> </refsect1>
</REFENTRY> </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:
-->

View File

@ -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:
-->

View File

@ -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:
-->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff