Home Explore Blog CI



postgresql

1st chunk of `doc/src/sgml/ref/drop_function.sgml`
a0f6dc490794c18638b0cacf496ceaf71143408538b18c6e0000000100000ac7
<!--
doc/src/sgml/ref/drop_function.sgml
PostgreSQL documentation
-->

<refentry id="sql-dropfunction">
 <indexterm zone="sql-dropfunction">
  <primary>DROP FUNCTION</primary>
 </indexterm>

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

 <refnamediv>
  <refname>DROP FUNCTION</refname>
  <refpurpose>remove a function</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP FUNCTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [ ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">argname</replaceable> ] <replaceable class="parameter">argtype</replaceable> [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP FUNCTION</command> removes the definition of an existing
   function. To execute this command the user must be the
   owner of the function. The argument types to the
   function must be specified, since several different functions
   can exist with the same name and different argument lists.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
    <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the function 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 an existing function.  If no
      argument list is specified, the name must be unique in its schema.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">argmode</replaceable></term>

    <listitem>
     <para>
      The mode of an argument: <literal>IN</literal>, <literal>OUT</literal>,
      <literal>INOUT</literal>, or <literal>VARIADIC</literal>.
      If omitted, the default is <literal>IN</literal>.
      Note that <command>DROP FUNCTION</command> does not actually pay
      any attention to <literal>OUT</literal> arguments, since only the input
      arguments are needed to determine the function's identity.
      So it is sufficient to list the <literal>IN</literal>, <literal>INOUT</literal>,
      and <literal>VARIADIC</literal> arguments.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">argname</replaceable></term>

    <listitem>
     <para>
      The name of an argument.
      Note that <command>DROP FUNCTION</command> does not actually pay
      any attention

Title: DROP FUNCTION
Summary
This documentation describes the DROP FUNCTION command in PostgreSQL, which is used to remove the definition of an existing function. The user must be the owner of the function to execute this command. The documentation details the syntax, including the use of IF EXISTS, function name, argument modes (IN, OUT, INOUT, VARIADIC), argument names, argument types, and the CASCADE/RESTRICT options.