2

我在 postgres 中创建了一个名为“databaseName”的 postgres 数据库。现在我可以通过

 su - postgres

然后输入我的密码

然后我通过:psql databaseName进入数据库

我通过以下方式创建了该数据库的用户:

   createuser -P userName1

现在我不希望数据库的用户以 root 用户身份访问数据库。现在,当用户尝试以

 su - postgres -u userName1 
        or through
 psql databaseName -u userName1

我收到错误...有人可以指导我用户如何在不成为 root 用户的情况下访问 postgres 和数据库吗?

4

1 回答 1

7

配置pg_hba.conf为接受peer通过 unix 套接字的连接或ident通过host(tcp) 连接的连接。如果您愿意,可以md5改用密码身份验证。

默认情况下psql,将使用与本地操作系统用户名相同的用户名进行连接;这可以被-U标志覆盖,例如:

psql -U myusername thedatabase

请注意,它-U不是-u(它是大写的)。

PostgreSQL 文档中详细介绍了这一切;看:

顺便说一句,如果你想以postgres用户身份运行命令,而不是su'ing 你可以写:

sudo -u postgres psql
于 2013-03-04T13:01:44.177 回答