小编Sha*_*aun的帖子

外国服务器的权限被拒绝

我正在尝试设置一个具有有限权限的用户,该用户能够创建外部表。我有两个数据库,hr_dbaccounting_db. 我已经创建了一个hr_user用户hr_db和一个accounting_user用户accounting_db。我只希望accounting_user用户对某些hr_db表(例如表)具有选择权限users。为此,作为超级用户,我转到hr_db数据库并运行:

GRANT CONNECT ON DATABASE hr_db TO accounting_user;
GRANT SELECT ON people TO accounting_user;
Run Code Online (Sandbox Code Playgroud)

我设置了一个连接hr_dbaccounting_db使用外国数据包装:

CREATE SERVER hr_db FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'localhost', dbname 'hr_db', port '5432');
Run Code Online (Sandbox Code Playgroud)

然后我为accounting_user用户添加了一个映射:

CREATE USER MAPPING FOR accounting_user SERVER hr_db
OPTIONS (user 'accounting_user', password 'secretpassword');
Run Code Online (Sandbox Code Playgroud)

密码accounting_user与我用于从命令行登录的密码相同。这工作正常:

psql -U accounting_user -W hr_db
[enter accounting_user password] …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-fdw

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

postgresql ×1

postgresql-fdw ×1