Home Explore Blog CI



postgresql

doc/src/sgml/ref/drop_policy.sgml
54778fd011944b46f52849376f0cc4e8d0062032d59992240000000300000b46
<!--
doc/src/sgml/ref/drop_policy.sgml
PostgreSQL documentation
-->

<refentry id="sql-droppolicy">
 <indexterm zone="sql-droppolicy">
  <primary>DROP POLICY</primary>
 </indexterm>

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

 <refnamediv>
  <refname>DROP POLICY</refname>
  <refpurpose>remove a row-level security policy from a table</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP POLICY [ IF EXISTS ] <replaceable class="parameter">name</replaceable> ON <replaceable class="parameter">table_name</replaceable> [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP POLICY</command> removes the specified policy from the table.
   Note that if the last policy is removed for a table and the table still has
   row-level security enabled via <command>ALTER TABLE</command>, then the
   default-deny policy will be used.  <literal>ALTER TABLE ... DISABLE ROW
   LEVEL SECURITY</literal> can be used to disable row-level security for a
   table, whether policies for the table exist or not.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

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

   <varlistentry>
    <term><replaceable class="parameter">table_name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of the table that
      the policy is on.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <term><literal>RESTRICT</literal></term>

    <listitem>
     <para>
      These key words do not have any effect, since there are no
      dependencies on policies.
     </para>
    </listitem>
   </varlistentry>

  </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   To drop the policy called <literal>p1</literal> on the table named
   <literal>my_table</literal>:

<programlisting>
DROP POLICY p1 ON my_table;
</programlisting></para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   <command>DROP POLICY</command> is a <productname>PostgreSQL</productname> extension.
  </para>
 </refsect1>

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

  <simplelist type="inline">
   <member><xref linkend="sql-createpolicy"/></member>
   <member><xref linkend="sql-alterpolicy"/></member>
  </simplelist>
 </refsect1>

</refentry>

Chunks
0473d507 (1st chunk of `doc/src/sgml/ref/drop_policy.sgml`)
Title: DROP POLICY
Summary
This documentation describes the DROP POLICY command, which removes a row-level security policy from a table in PostgreSQL. The syntax, parameters, and examples of how to use the command are provided. It also mentions the behavior when the last policy is removed and how to disable row-level security. CASCADE and RESTRICT options have no effect.