我无法更改postgres用户密码

时间:2019-11-28 02:59:33

标签: postgresql

第一个问题:

我是一个完全的新手。使用某些默认密码安装postgresql而不要求在安装过程中进行更改是否正确?这些密码是什么?我只是在玩一个应用程序,如果我知道默认密码,一切都会好起来的。

您可能会说我没有默认密码。我在某处读到postgres用户允许不使用密码登录。然后,我是否将应用程序配置文件中的密码字段保留为空?

我在PostgreSQL命令行中使用了以下命令:

ALTER ROLE postgres WITH PASSWORD 'new_password';

我收到以下错误:

ALTER: command not found.

你能告诉我发生了什么吗?

我有Postgresql 11.6和12.1。

3 个答案:

答案 0 :(得分:0)

对于新安装的PostgreSQL集群,它不允许非本地连接,即您可以在没有密码的情况下进行本地连接。例如:

psql -U postgres -p5432 -h127.0.0.1 -d postgres

您可以运行psql --help来查看psql的所有帮助信息。

如上所述,登录后,您可以创建一个新用户并指定密码[1]或像您一样更改密码。

请注意,如果您不修改客户端身份验证配置文件[2],则无法使用此帐户在其他主机上登录数据库。

  

客户端身份验证由配置文件控制,该文件通常名为pg_hba.conf,并存储在数据库集群的数据目录中。 (HBA代表基于主机的身份验证。)由initdb初始化数据目录时,将安装默认的pg_hba.conf文件。但是,可以将身份验证配置文件放置在其他位置。请参阅hba_file配置参数。

参考文献

  1. https://www.postgresql.org/docs/current/sql-createuser.html
  2. https://www.postgresql.org/docs/current/auth-pg-hba-conf.html

答案 1 :(得分:0)

除非您的安装过程设置了一个,否则超级用户postgres不会设置密码。您无需密码即可从本地计算机连接,然后可以设置一个。

首先,启动命令行客户端:

psql -U postgres

然后,您可以运行ALTER ROLE命令。

答案 2 :(得分:0)

更改PostgreSQL数据库用户(postgres)密码有两个步骤:

  1. 以Linux / Ubuntu PostgreSQL管理员用户身份登录Linux / Ubuntu:

su-postgres

  1. 然后您可以更改角色:

使用密码'new_password'的ALTER ROLE postgres;