mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY constraints all have real live entries in pg_constraint. pg_depend exists, and RESTRICT/CASCADE options work on most kinds of DROP; however, pg_depend is not yet very well populated with dependencies. (Most of the ones that are present at this point just replace formerly hardwired associations, such as the implicit drop of a relation's pg_type entry when the relation is dropped.) Need to add more logic to create dependency entries, improve pg_dump to dump constraints in place of indexes and triggers, and add some regression tests.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_table.sgml,v 1.15 2002/05/18 15:44:47 petere Exp $
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_table.sgml,v 1.16 2002/07/12 18:43:13 tgl Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@@ -21,7 +21,8 @@ PostgreSQL documentation
|
||||
<date>1999-07-20</date>
|
||||
</refsynopsisdivinfo>
|
||||
<synopsis>
|
||||
DROP TABLE <replaceable class="PARAMETER">name</replaceable> [, ...]
|
||||
DROP TABLE <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
|
||||
|
||||
</synopsis>
|
||||
|
||||
<refsect2 id="R2-SQL-DROPTABLE-1">
|
||||
@@ -41,6 +42,24 @@ DROP TABLE <replaceable class="PARAMETER">name</replaceable> [, ...]
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>CASCADE</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Automatically drop objects that depend on the table
|
||||
(such as views).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>RESTRICT</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Refuse to drop the table if there are any dependent objects.
|
||||
This is the default.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect2>
|
||||
@@ -136,44 +155,11 @@ DROP TABLE films, distributors;
|
||||
</title>
|
||||
|
||||
<refsect2 id="R2-SQL-DROPTABLE-4">
|
||||
<refsect2info>
|
||||
<date>1998-09-22</date>
|
||||
</refsect2info>
|
||||
<title>
|
||||
SQL92
|
||||
</title>
|
||||
<para>
|
||||
SQL92 specifies some additional capabilities for DROP TABLE:
|
||||
</para>
|
||||
<synopsis>
|
||||
DROP TABLE <replaceable class="parameter">table</replaceable> { RESTRICT | CASCADE }
|
||||
</synopsis>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>RESTRICT</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Ensures that only a table with no dependent views or
|
||||
integrity constraints can be destroyed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>CASCADE</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Any referencing views or integrity constraints
|
||||
will also be dropped.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<tip>
|
||||
<para>
|
||||
At present, to remove a referencing view you must drop
|
||||
it explicitly.
|
||||
</para>
|
||||
</tip>
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
Reference in New Issue
Block a user