new_schemaここで、actionは以下のいずれかです。FUNCTIONは関数定義を変更します。FUNCTIONを使用するには関数の所有者でなければなりません。関数のスキーマを変更するには、新しいスキーマにおけるCREATE権限も必要です。所有者を変更するには、直接または間接的に新しいロールのメンバでなければなりません。そのロールが関数のスキーマにおいてCREATEを持たなければなりません。(この制限により、強制的に、所有者の変更が関数の削除と再作成で行うことができない何らかの処理を行わないようになります。スーパーユーザはすべての関数の所有者を変更することができます。)パラメータname既存の関数名です(スキーマ修飾名も可)。INOUTのいずれかです。省略された場合のデフォルトはINです。FUNCTIONがOUT引数を無視することに注意してください。INおよびINOUT引数を列挙することで十分です。argname引数の名前です。FUNCTIONは引数の名前を無視することに注意してください。argtypeもしあれば、その関数の引数のデータ型(複数可)です。(スキーマで修飾可能です)new_name新しい関数名です。new_owner新しい関数の所有者です。DEFINERが指定されている場合、その後は新しい所有者の権限で関数が実行されることに注意してください。new_schema関数の新しいスキーマです。INPUTは、引数の一部またはすべてがNULLの場合に関数が呼び出されるように変更します。INPUTもしくはSTRICTは、引数の一部がNULLの場合に関数が呼び出されないように変更します。FUNCTIONを参照してください。IMMUTABLESTABLEVOLATILE関数の揮発性を指定した設定に変更します。FUNCTIONを参照してください。DEFINER関数のセキュリティを定義者にするか否かを変更します。EXTERNALキーワードはSQLとの互換性のためのものであり、無視されます。FUNCTIONを参照してください。RESTRICT標準SQLとの互換性のためのものであり、無視されます。例integer型用のsqrt関数の名前をsquare_rootに変更します。square_root;integer型用のsqrt関数の所有者をjoeに変更します。joe;integer型用のsqrt関数のスキーマをmathsに変更します。FUNCTION文に従っています。標準ではより多くの関数の属性を変更できますが、関数名の変更、関数を定義者の権限で実行するかどうかの変更、関数の所有者やスキーマ、揮発性の変更を行う機能はありません。標準ではRESTRICTキーワードを必須としていますが、PostgreSQLでは省略可能です。