PostgreSQL public 访问数据库

PostgreSQL public access to database

我最近创建了一个测试数据库,但我希望所有用户都可以访问它。

我以用户 postgres 创建了数据库,然后使用命令

GRANT ALL ON DATABASE dbname TO public;

但是当我注销并尝试用不同的用户连接到它时,我得到了这个错误

psql -d dbname
psql: FATAL:  role "username" does not exist

我不想为每个将要访问数据库的人创建一个用户,这就是我想要创建它的原因 public。是否有我仍然缺少的权限?

虽然授予所有人(public)的访问权限,但您连接的用户必须存在。 psql 的默认值是您系统帐户的用户名。当然,您可以创建一个无密码 anonymous 用户,每个人都可以用来连接:

psql -U anonymous dbname