相关疑难解决方法(0)

列出PostgreSQL中具有不同所有者的所有表的约束

我必须是信息模式中访问约束相关数据的关系的所有者吗?我测试了以下内容,似乎我必须是主人.

create schema rights_test;

create table rights_test.t1 (id int primary key);
create table rights_test.t2 (id int references rights_test.t1(id));

select  
        tc.constraint_name, 
        tc.constraint_schema || '.' || tc.table_name || '.' || kcu.column_name as physical_full_name,  
        tc.constraint_schema,
        tc.table_name, 
        kcu.column_name, 
        ccu.table_name as foreign_table_name, 
        ccu.column_name as foreign_column_name,
        tc.constraint_type
    from 
        information_schema.table_constraints as tc  
        join information_schema.key_column_usage as kcu on (tc.constraint_name = kcu.constraint_name and tc.table_name = kcu.table_name)
        join information_schema.constraint_column_usage as ccu on ccu.constraint_name = tc.constraint_name
    where 
        constraint_type in ('PRIMARY KEY','FOREIGN KEY')
        and tc.constraint_schema = 'rights_test'

/*
This will produce desired …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.1

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

postgresql ×1

postgresql-9.1 ×1