Home Explore Blog CI



postgresql

doc/src/sgml/ref/drop_foreign_table.sgml
cdd0eecdc0bebef448b331496f16f39ae556c48f89302ae70000000300000aea
<!--
doc/src/sgml/ref/drop_foreign_table.sgml
PostgreSQL documentation
-->

<refentry id="sql-dropforeigntable">
 <indexterm zone="sql-dropforeigntable">
  <primary>DROP FOREIGN TABLE</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>DROP FOREIGN TABLE</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP FOREIGN TABLE</refname>
  <refpurpose>remove a foreign table</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP FOREIGN TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP FOREIGN TABLE</command> removes a foreign table.
   Only the owner of a foreign table can remove it.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the foreign 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 foreign table to drop.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the foreign table (such as
      views), and in turn all objects that depend on those objects
      (see <xref linkend="ddl-depend"/>).
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>RESTRICT</literal></term>
    <listitem>
     <para>
      Refuse to drop the foreign table if any objects depend on it.  This is
      the default.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   To destroy two foreign tables, <literal>films</literal> and
   <literal>distributors</literal>:

<programlisting>
DROP FOREIGN TABLE films, distributors;
</programlisting></para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   This command conforms to ISO/IEC 9075-9 (SQL/MED), except that the
   standard only allows one foreign table to be dropped per command, and apart
   from the <literal>IF EXISTS</literal> option, which is a <productname>PostgreSQL</productname>
   extension.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-alterforeigntable"/></member>
   <member><xref linkend="sql-createforeigntable"/></member>
  </simplelist>
 </refsect1>

</refentry>

Chunks
e72936e3 (1st chunk of `doc/src/sgml/ref/drop_foreign_table.sgml`)
Title: DROP FOREIGN TABLE
Summary
The DROP FOREIGN TABLE command removes a foreign table. Only the owner can remove it. The syntax includes options like IF EXISTS to avoid errors if the table doesn't exist, CASCADE to drop dependent objects, and RESTRICT to prevent dropping if dependencies exist. An example demonstrates dropping two foreign tables. The command is mostly SQL/MED compliant, with some PostgreSQL extensions.