如何更改PostgreSQL用户的密码?


当前回答

将用户“postgres”的密码更改为“postgress”:

# ALTER USER postgres WITH ENCRYPTED PASSWORD '<NEW-PASSWORD>';

其他回答

我认为更改密码的最佳方法是使用:

\password

在Postgres控制台中。

根据ALTER USER文档:

使用此命令。密码将在cleartext,并且它也可能记录在客户端的命令历史记录中或服务器日志。psql包含可以使用的命令\密码在不暴露明文密码的情况下更改角色的密码。

注意:ALTER USER是ALTER ROLE的别名

TLDR:

在许多系统中,用户的帐户通常包含句点或某种标点符号(用户:john.smith,horise.johnson)。在这些情况下,必须对上面接受的答案进行修改。更改要求用户名加上双引号。

实例

ALTER USER "username.lastname" WITH PASSWORD 'password';

理论基础:

PostgreSQL对何时使用“双引号”和何时使用“单引号”非常挑剔。通常,当提供字符串时,您将使用单引号。

将用户“postgres”的密码更改为“postgress”:

# ALTER USER postgres WITH ENCRYPTED PASSWORD '<NEW-PASSWORD>';

要使用Linux命令行更改密码,请使用:

sudo -u <user_name> psql -c "ALTER USER <user_name> PASSWORD '<new_password>';"

您可以并且应该对用户的密码进行加密:

ALTER USER username WITH ENCRYPTED PASSWORD 'password';