FUNCTIONは既存の関数定義を削除します。このコマンドを実行できるのは、その関数の所有者のみです。関数の引数の型は必ず指定しなければなりません。異なる引数を持つ同じ名前の関数が複数存在する可能性があるからです。EXISTS関数が存在しない場合でもエラーになりません。この場合注意メッセージが発行されます。name既存の関数の名前です(スキーマ修飾名も可)。引数リストを指定しない場合、名前はスキーマ内で一意でなければなりません。argmode引数のモードで、IN、OUT、INOUT、VARIADICのいずれかです。省略された場合のデフォルトはINです。FUNCTIONがOUT引数を無視することに注意してください。IN、INOUT、およびVARIADIC引数を列挙することで十分です。argname引数の名前です。FUNCTIONは引数の名前を無視することに注意してください。argtypeもしあれば、その関数の引数のデータ型(スキーマ修飾可能)です。CASCADE関数に依存するオブジェクト(演算子やトリガなど)を自動的に削除し、さらにそれらのオブジェクトに依存するすべてのオブジェクトも削除します(5.13参照)。RESTRICT依存しているオブジェクトがある場合、その関数の削除を拒否します。これがデフォルトです。次のコマンドは平方根関数を削除します。sqrt(integer);複数の関数を1つのコマンドで削除します。sqrt(bigint);関数名がスキーマ内で一意であれば、引数リストを付けなくても参照することができます。update_employee_salaries;これは以下とは異なることに注意してください。update_employee_salaries();後者は引数がゼロ個の関数を参照するのに対し、前者は引数の個数はゼロ個も含め、何個でも良く、ただし名前が一意である必要があります。互換性このコマンドは標準SQLに従いしますが、以下はPostgreSQLの拡張です。標準SQLでは1つのコマンドで関数を1つ削除することしかできません。