PostgreSQL 教程: 更改用户的密码

九月 19, 2023

摘要:在本教程中,您将学习如何更改 PostgreSQL 中用户的密码。

要更改 PostgreSQL 用户的密码,请使用ALTER ROLE语句,如下:

ALTER ROLE username
WITH PASSWORD 'password';

在此语句中,要更改用户的密码:

  • 首先,指定您要更改密码的用户username
  • 其次,提供用单引号 (') 括起来的新的密码password

例如,以下语句将super用户的密码更改为secret123

ALTER ROLE super WITH PASSWORD 'secret123';

有时,您希望将密码设置为在某个日期和时间之前有效。在这种情况下,您可以使用VALID UNTIL子句:

ALTER ROLE username
WITH PASSWORD 'new_password'
VALID UNTIL timestamp;

请注意,如果省略VALID UNTIL子句,密码将始终有效。

以下语句将 super用户密码的到期日期设置为December 31 2020

ALTER ROLE super
VALID UNTIL 'December 31, 2020';

为了验证结果,可以查看用户的详细信息

postgres=# \du super;
                            List of roles
 Role name |                 Attributes                  | Member of
-----------+---------------------------------------------+-----------
 super     | Superuser, Cannot login                    +| {}
           | Password valid until 2020-12-31 00:00:00+07 |

请注意,使用ALTER ROLE语句会将密码以明文形式传输到服务器。此外,明文密码可能会记录在 psql 的命令历史记录或服务器日志中。

在本教程中,您学习了如何使用ALTER ROLE语句更改 PostgreSQL 用户的密码。