mirror of
https://github.com/postgres/postgres.git
synced 2025-12-19 17:02:53 +03:00
DocBook XML is superficially compatible with DocBook SGML but has a slightly stricter DTD that we have been violating in a few cases. Although XSLT doesn't care whether the document is valid, the style sheets don't necessarily process invalid documents correctly, so we need to work toward fixing this. This first commit moves the indexterms in refentry elements to an allowed position. It has no impact on the output.
128 lines
3.1 KiB
Plaintext
128 lines
3.1 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/drop_table.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="SQL-DROPTABLE">
|
|
<indexterm zone="sql-droptable">
|
|
<primary>DROP TABLE</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>DROP TABLE</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>DROP TABLE</refname>
|
|
<refpurpose>remove a table</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
DROP TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
<command>DROP TABLE</command> removes tables from the database.
|
|
Only the table owner, the schema owner, and superuser can drop a
|
|
table. To empty a table of rows
|
|
without destroying the table, use <xref linkend="sql-delete">
|
|
or <xref linkend="sql-truncate">.
|
|
</para>
|
|
|
|
<para>
|
|
<command>DROP TABLE</command> always removes any indexes, rules,
|
|
triggers, and constraints that exist for the target table.
|
|
However, to drop a table that is referenced by a view or a foreign-key
|
|
constraint of another table, <literal>CASCADE</> must be
|
|
specified. (<literal>CASCADE</> will remove a dependent view entirely,
|
|
but in the foreign-key case it will only remove the foreign-key
|
|
constraint, not the other table entirely.)
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>IF EXISTS</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Do not throw an error if the table does not exist. A notice is issued
|
|
in this case.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="PARAMETER">name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The name (optionally schema-qualified) of the table to drop.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>CASCADE</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Automatically drop objects that depend on the table (such as
|
|
views).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>RESTRICT</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Refuse to drop the table if any objects depend on it. This is
|
|
the default.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<para>
|
|
To destroy two tables, <literal>films</literal> and
|
|
<literal>distributors</literal>:
|
|
|
|
<programlisting>
|
|
DROP TABLE films, distributors;
|
|
</programlisting></para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
This command conforms to the SQL standard, except that the standard only
|
|
allows one table to be dropped per command, and apart from the
|
|
<literal>IF EXISTS</> option, which is a <productname>PostgreSQL</>
|
|
extension.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-altertable"></member>
|
|
<member><xref linkend="sql-createtable"></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
|
|
</refentry>
|