2016-08-16 4 views
0

私はPostgreSQLのTablenameをregclassから取得したいと考えています。私の周りの仕事を見つけたが、私はそれでとても幸せを感じていないです:PostgreSQLのregclassからtablenameを取得

SELECT split_part('datastore.inline'::regclass::TEXT, '.', 2); 

Postgreにregclassデータからテーブル名を抽出する専用の機能がありますか?

答えて

2

あなたはpg_classを照会することができます

select relname 
from pg_class 
where oid = 'datastore.inline'::regclass; 

そこには組み込み関数がありませんが、あなたはあなた自身のものを作成することができます

create or replace function get_relname(regclass) 
returns name language sql as $$ 
    select relname 
    from pg_class 
    where oid = $1 
$$; 

select get_relname('datastore.inline'::regclass); 
関連する問題