Home Explore Blog CI



postgresql

1st chunk of `doc/src/sgml/ref/drop_foreign_table.sgml`
e72936e3b5ddbcc628bafa0f364385d72b24528074a457fa0000000100000aea
<!--
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>

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.