2016-08-16 5 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);