まあ、何かが奇妙です。私がした:
[email protected]@[local] =# create function abuse_resolve(inout __abuse_id bigint,
out __msg text) returns record language plpgsql as
$$ begin __msg = 'ok'; end; $$;
CREATE FUNCTION
[email protected]@[local] =# \df abuse_resolve
List of functions
-[ RECORD 1 ]-------+----------------------------------------
Schema | so9679418
Name | abuse_resolve
Result data type | record
Argument data types | INOUT __abuse_id bigint, OUT __msg text
Type | normal
[email protected]@[local] =# select abuse_resolve('30'::bigint);
-[ RECORD 1 ]-+--------
abuse_resolve | (30,ok)
このデータベースで他に問題がありましたか?ダンプ/復元を使用してコピーし、新しいコピーでこれを試すことはできますか? 「パブリック」スキーマで関数名を明示的に修飾することは役立ちますか?どのバージョンのPostgreSQLを使用していますか?
更新:SQL関数 また、以下を使用しても問題なく機能しました:
create function abuse_resolve(inout __abuse_id bigint, out __msg text)
language sql as $$ select $1, 'ok'::text $$;