diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-11-09 23:56:39 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-11-09 23:56:39 +0000 |
commit | ebb531836ada81958bbf95c60dd05dc58eb3e810 (patch) | |
tree | f15c094f02bf8b9b5493e35defbd8ee2d1a3be2c /doc/src | |
parent | f2ef470196530e862b01c95e3b599e29102c887e (diff) | |
download | postgresql-ebb531836ada81958bbf95c60dd05dc58eb3e810.tar.gz postgresql-ebb531836ada81958bbf95c60dd05dc58eb3e810.zip |
Add code to handle [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP }]
for temp tables.
Gavin Sherry
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/ref/create_table.sgml | 60 |
1 files changed, 53 insertions, 7 deletions
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index 9e9525775c7..274b6f8c518 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.56 2002/09/02 06:20:53 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.57 2002/11/09 23:56:38 momjian Exp $ PostgreSQL documentation --> @@ -21,7 +21,7 @@ CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable class="PARAMETER">t | <replaceable>table_constraint</replaceable> } [, ... ] ) [ INHERITS ( <replaceable>parent_table</replaceable> [, ... ] ) ] -[ WITH OIDS | WITHOUT OIDS ] +[ WITH OIDS | WITHOUT OIDS ] [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] where <replaceable class="PARAMETER">column_constraint</replaceable> is: @@ -107,10 +107,11 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is: <para> If specified, the table is created as a temporary table. Temporary tables are automatically dropped at the end of a - session. Existing permanent tables with the same name are not - visible to the current session while the temporary table exists, - unless they are referenced with schema-qualified names. - Any indexes created on a temporary table are automatically + session or optionally at the end of the current transaction + (See ON COMMIT below). Existing permanent tables with the same + name are not visible to the current session while the temporary + table exists, unless they are referenced with schema-qualified + names. Any indexes created on a temporary table are automatically temporary as well. </para> @@ -487,9 +488,54 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is: </para> </listitem> </varlistentry> - </variablelist> + <varlistentry> + <term><literal>ON COMMIT</literal></term> + <listitem> + <para> + The behaviour of temporary tables at the end of a transaction + block can be controlled using <literal>ON COMMIT</literal>. + The table will exhibit the same behavior at the end of + transaction blocks for the duration of the session unless + ON COMMIT DROP is specified or the temporary table is dropped. + </para> + <para> + The three parameters to ON COMMIT are: + + <variablelist> + <varlistentry> + <term><literal>PRESERVE ROWS</literal></term> + <listitem> + <para> + The rows in the temporary table will persist after the + transaction block. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>DELETE ROWS</literal></term> + <listitem> + <para> + All rows in the temporary table will be deleted at the + end of the transaction block. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>DROP</literal></term> + <listitem> + <para> + The temporary table will be dropped at the end of the transaction. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </listitem> + </varlistentry> + </variablelist> </refsect1> |