[英]Cannot access foreign table using Postgres FDW
我在 Postgres 10 中設置了一個外部表。角色“role1”已被授權在使用postgres
超級用戶設置的外部服務器 (fs) 上使用。
我使用 import schema 命令導入了表:
IMPORT FOREIGN SCHEMA f_schema LIMIT TO (my_fdw_table) FROM fs INTO ls;
那工作得很好。
但是,當我嘗試查詢表時,出現以下錯誤:
SELECT * FROM my_fdw_table LIMIT 1;
ERROR: permission denied for view my_fdw_table
CONTEXT: remote SQL command: ...
我的理解是 FDW 應該一視同仁地對待視圖和表。
看起來您在本地用戶和外部服務器的用戶映射中使用的遠程用戶對表(或包含它的架構)沒有所需的權限。
用戶“role1”應該為自己創建用戶映射,例如:
CREATE USER MAPPING FOR role1 SERVER fs OPTIONS (USER 'role1', PASSWORD 'password1');
IMPORT FOREIGN SCHEMA f_schema LIMIT TO (my_fdw_table) FROM SERVER fs INTO ls;
此外,如果“role1”不是數據庫的所有者,它應該從其所有者那里獲得訪問權限:
GRANT USAGE ON SCHEMA ls TO role1;
假設ls
是本地架構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.