我最近创建了一个测试数据库,但我希望所有用户都可以访问它。
我使用postgres创建了数据库,然后使用命令
GRANT ALL ON DATABASE dbname TO public;
但是当我退出并尝试与其他用户连接时,我收到此错误
psql -d dbname
psql: FATAL: role "username" does not exist
我不想为每个要访问数据库的人创建一个用户,这就是我想让它公开的原因。是否有我仍然遗失的许可?
答案 0 :(得分:4)
虽然授予了对所有人(public
)的访问权限,但您连接的用户必须存在。 psql
的默认值是您系统帐户的用户名。当然,您可以创建一个无密码的anonymous
用户,每个人都可以用来连接:
psql -U anonymous dbname