2016-09-28 7 views
0

私はPostgresに外部テーブルを持ち、別のサーバにリンクしています。私は、このテーブルの上に選択しようとしているが、私はこのエラーを取得しています:Postgresで外部テーブルのオーナーを確認してください

ERROR: permission denied for relation whitelist 

誰もが外国人のテーブルの所有権を確認する方法を知っていますか?

select t.table_name, t.table_type, c.relname, c.relowner, u.usename 
from information_schema.tables t 
join pg_catalog.pg_class c on (t.table_name = c.relname) 
join pg_catalog.pg_user u on (c.relowner = u.usesysid) 
where t.table_schema='schema_name'; 

答えて

1

任意の管理ツールは、(そのことについて、または他のデータベース・オブジェクト)誰が外国のテーブルを所有しているあなたを伝えることができるはずです...私はこれを試してみたが、それは単にローカルテーブルに関する情報を返します。 。 pgAdminでは、オブジェクトブラウザで外部テーブルを選択すると、[プロパティ]タブに所有者が表示され、\dEを実行するとpsqlは所有者を報告します。

あなたが本当にクエリが必要な場合は、これはそれを行う必要があります。

SELECT 
    oid::regclass, 
    pg_get_userbyid(relowner) 
FROM pg_class 
WHERE relkind = 'f' 
関連する問題