new_schemaここで、actionは以下のいずれかです。FUNCTIONは関数定義を変更します。FUNCTIONを使用するには関数の所有者でなければなりません。関数のスキーマを変更するには、新しいスキーマにおけるCREATE権限も必要です。所有者を変更するには、直接または間接的に新しいロールのメンバでなければなりません。そのロールは関数のスキーマにおいてCREATE権限を持たなければなりません。(この制限により、関数の削除と再作成で行うことができない処理を所有者の変更で行えないようになります。スーパーユーザはすべての関数の所有者を変更することができます。)パラメータname既存の関数名です(スキーマ修飾名も可)。argmode引数のモードで、IN、OUT、INOUT、VARIADICのいずれかです。省略された場合のデフォルトはINです。FUNCTIONがOUT引数を無視することに注意してください。IN、INOUTおよびVARIADIC引数を列挙することで十分です。argname引数の名前です。FUNCTIONは引数の名前を無視することに注意してください。argtypeもしあれば、その関数の引数のデータ型(スキーマ修飾可能)です。new_name新しい関数名です。new_owner新しい関数の所有者です。DEFINERが指定されている場合、その後は新しい所有者の権限で関数が実行されることに注意してください。new_schema関数の新しいスキーマです。INPUTは、引数の一部またはすべてがNULLの場合に関数が呼び出されるように変更します。INPUTもしくはSTRICTは、引数の一部がNULLの場合に関数が呼び出されないように変更します。代わりに自動的にNULLという結果とされます。FUNCTIONを参照してください。IMMUTABLESTABLEVOLATILE関数の揮発性を指定した設定に変更します。FUNCTIONを参照してください。DEFINER関数のセキュリティを定義者にするか否かを変更します。EXTERNALキーワードはSQLとの互換性のためのものであり、無視されます。FUNCTIONを参照してください。LEAKPROOF関数を漏洩防止関数とみなすか否かを変更します。FUNCTIONを参照してください。execution_cost関数の推定実行コストを変更します。FUNCTIONを参照してください。result_rows集合を返す関数で返される推定行数を変更します。FUNCTIONを参照してください。configuration_parametervalue関数呼び出し時に設定パラメータに対して行われる設定を追加または変更します。valueがDEFAULT、またはそれと等価なRESETが使用された場合、関数の局所的な設定は削除されます。このため、関数はその環境内に存在する値で実行されます。ALLを使用してください。CURRENTは、セッションにおけるパラメータの現在値を関数起動時に適用される値として保管します。設定可能なパラメータとその値に関する詳細については、SETおよび第18章を参照してください。RESTRICT標準SQLとの互換性のためのものであり、無視されます。例integer型用のsqrt関数の名前をsquare_rootに変更します。square_root;integer型用のsqrt関数の所有者をjoeに変更します。joe;integer型用のsqrt関数のスキーマをmathsに変更します。maths;関数用に検索パスを自動的に設定するように調整します。pg_temp;関数用のsearch_pathの自動設定を無効にします。search_path;呼び出し元で使用される検索パスでこの関数が実行されるようになります。FUNCTION文に部分的に従っています。標準ではより多くの関数の属性を変更できますが、関数名の変更、関数を定義者の権限で実行するかどうかの変更、関数と設定パラメータ値の関連付け、関数の所有者やスキーマ、揮発性の変更を行う機能はありません。標準ではRESTRICTキーワードを必須としていますが、PostgreSQLでは省略可能です。