postgresql 向Azure Postgres SQL单服务器数据库中的新用户授予“选择”权限后,“选择”表上的权限被拒绝

xggvc2p6  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(134)

我有Azure PostgreSQL单服务器数据库,我需要向新创建的用户给予读取权限。
CREATE USER“test@hostName”PASSWORD 'XXXX'; GRANT CONNECT ON DATABASE“test”TO“test@hostName”;
ALTER DEFAULT PRIVILEGES FOR USER pgadmin IN SCHEMA public GRANT SELECT ON TABLES TO“test@hostName”;
SELECT * FROM information_schema.role_table_赠款WHERE grantee = 'test@ hostName';
这是结果x1c 0d1x
但当此用户执行选择查询时,出现“Permission Denied(拒绝权限)”消息,不允许选择。任何帮助都很感激。

xzv2uavs

xzv2uavs1#

要在Azure PostgreSQL中为新创建的用户分配权限,请执行以下过程:

  • 首先在Azure Postgres SQL中创建一个新的数据库和一个用户,并在新创建的数据库上为其分配连接权限。
--create a new database.
CREATE DATABASE newdb;
--create a new user.
CREATE USER newuser PASSWORD '<StrongPassword!>';
--grant new user to connect databse.
GRANT CONNECT ON DATABASE newdb TO newuser;
  • 然后使用当前登录名转到新数据库,并使用以下命令将select to all tables on public schema授予新用户。
--to switch the database with current login
\c test
--Grant select on table with ath following schema
GRANT SELECT ON ALL TABLES IN SCHEMA schemaname TO newuser;

  • 在Postgres SQL中登录该用户并选择表
select * from tablename;

相关问题