2011-01-17 8 views
1

postgres関数に渡されるvarcharパラメータのパラメータ長を調べようとしています。postgres関数のvarcharパラメータの長さを調べる方法

は、私が今持っているSQLは、私は、私はPostgreSQLがこの情報を保持しないと思います。この値

SELECT * 
FROM information_schema.parameters 
WHERE specific_schema='public' 
    AND specific_name like 'foo' 
ORDER BY ordinal_position 

答えて

2

を見つけることが期待されるだろうCHARACTER_MAXIMUM_LENGTH欄の値がありません。 I create function foo(varchar(100)) returns boolean ...、その後はpg_dumpでスキーマをダンプする場合は、私が見つける:

CREATE FUNCTION foo(character varying) RETURNS boolean 
    LANGUAGE sql 
    AS $$select true$$; 

'100' 仕様がなくなっています。また、150文字の文字列をfoo(varchar)に渡すことはトラップされていません。対照的に、varchar(100)に基づいてドメインを作成し、その点で関数を定義すると、重複した文字列を渡すことになります。

関連する問題