在 CentOS 6(64 位)上全新安装 PostgreSQL 9.3(根据 PostgreSQL wiki 上的 YUM 安装手册)不会授予任何用户权限。
我登录到 postgres 用户并打开 psql,然后为我的默认用户创建一个角色:
CREATE ROLE <name> WITH PASSWORD '<password>';
然后尝试授予它对默认 postgres 数据库的权限:
GRANT ALL ON DATABASE postgres TO <user>;
这给出了预期的输出,但用户对 postgres 没有任何权限。的输出\dp <user>
也是空的。附加测试表明我不能授予任何用户权限。但是,当我尝试删除已被授予这些不存在权限的角色时,它会说
ERROR: role "<user>" cannot be dropped because some objects depend on it
DETAIL: privileges for database postgres
我很茫然。我还检查以确保 postgres Linux 用户对 PostgreSQL 数据目录具有适当的文件权限。