【发布时间】:2015-03-20 10:09:50
【问题描述】:
我尝试在 postgresql 中向我的表“MEMBERS”授予特定权限,但没有任何变化。更具体地说,我这样做(通过 pgadmin 控制台):
CREATE DATABASE login;
CREATE USER loginUser WITH PASSWORD 'xxxxxxxxxxxxx';
CREATE TABLE members (
id serial NOT NULL,
username varchar(30) NOT NULL
PRIMARY KEY(id)
)
ALTER USER loginuser WITH SUPERUSER;
ALTER TABLE members OWNER TO loginuser;
GRANT SELECT, UPDATE, INSERT, DELETE ON members TO loginuser;
查询成功返回,但是当我通过 pgadmin gui 检查表的权限时,所有这些都被选中。
我错过了什么?
【问题讨论】:
-
“都被选中”是什么意思。您授予了所有特权,那么您到底期望什么?您要解决的问题是什么?
-
我没有授予所有权限。你在说什么?仍然有 TRUNCATE、REFERECES、DROP、TRIGGER 权限。即使我执行这个查询: GRANT SELECT ON members TO loginuser;选择所有权限而不是仅选择 SELECT 权限。
-
但
loginuser是表的所有者,因此角色确实拥有所有权限。 -
我现在明白你的意思了。有没有办法改变所有者的所有者的权限?
-
@a_horse_with_no_name:更糟糕的是:“loginuser”是超级用户。
标签: postgresql pgadmin sql-grant