1
TABLE.COLUMN%類型參數的功能,是否有可能找出是否在Postgres的函數參數定義爲獲取元數據有關在Postgres的
table.column%type foo
或
sometype foo
查詢例如pg_proc裏?
TABLE.COLUMN%類型參數的功能,是否有可能找出是否在Postgres的函數參數定義爲獲取元數據有關在Postgres的
table.column%type foo
或
sometype foo
查詢例如pg_proc裏?
pg_proc
中的proargtypes
列是所有函數參數類型的數組。然後可以將每種類型交叉引用至pg_type.oid
。
所以,如果我這樣定義一個函數:
[email protected]@[local] =# create function testfunc(pg_proc.proname%type) returns boolean language 'sql' immutable strict as $$ select true $$;
NOTICE: type reference pg_proc.proname%TYPE converted to name
CREATE FUNCTION
那麼,該通知是不是太樂觀。
該函數pg_proc記錄是:
proname | proargtypes
----------+-------------
testfunc | 19
和19型是隻是 「名」。所以看起來這裏的答案是「不」,恐怕。