从PostgreSQL中的regclass获取tablename

时间:2016-08-16 08:42:42

标签: postgresql function

我想在PostgreSQL中从regclass获取Tablename。我找到了一个解决方法,但我对此并不满意:

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

是否有专门的函数从Postgre中的regclass中提取表名?

1 个答案:

答案 0 :(得分:3)

您可以查询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);