如何更改PostgreSQL用户的密码?


当前回答

我使用的是Windows(Windows Server 2019;PostgreSQL 10),因此不支持本地类型连接(pg_hba.conf:本地所有对等)。

以下各项应适用于Windows和Unix系统:

将pg_hba.conf备份到pg_hba.org.conf,例如。仅使用以下命令创建pg_hba.conf:host all all 127.0.0.1/32信任重新启动pg(服务)执行psql-U postgres-h 127.0.0.1输入(在pgctl控制台中)使用密码“SomePass”更改用户postgres;从1还原pg_hba.conf。在上面

其他回答

对于我在Ubuntu 14.04(Trusty Tahr)上的案例,安装了PostgreSQL 10.3:我需要遵循以下步骤

su-postgres将用户切换到postgrespsql以进入PostgreSQL shell\密码,然后输入密码Q退出shell会话然后,通过执行exit并配置pg_hba.conf(我的位于/etc/postgresql/10/main/pg_hba.coff),切换回root,确保您有以下行本地所有postgres md5通过service PostgreSQL Restart重新启动PostgreSQL服务现在切换到postgres用户并再次输入PostgreSQL shell。它将提示您输入密码。

这是谷歌上的第一个结果,当时我正在研究如何重命名用户,所以:

ALTER USER <username> WITH PASSWORD '<new_password>';  -- change password
ALTER USER <old_username> RENAME TO <new_username>;    -- rename user

其他一些有助于用户管理的命令:

CREATE USER <username> PASSWORD '<password>' IN GROUP <group>;
DROP USER <username>;

将用户移动到其他组

ALTER GROUP <old_group> DROP USER <username>;
ALTER GROUP <new_group> ADD USER <username>;

如果您在Windows上。

打开pg_hba.conf文件并从md5更改为对等。

打开cmd并键入psql-postgres-postgres。

然后键入\password以提示输入新密码。

有关更多信息和详细步骤,请参阅本中帖。

TLDR:

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

实例

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

理论基础:

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

我使用的是Windows(Windows Server 2019;PostgreSQL 10),因此不支持本地类型连接(pg_hba.conf:本地所有对等)。

以下各项应适用于Windows和Unix系统:

将pg_hba.conf备份到pg_hba.org.conf,例如。仅使用以下命令创建pg_hba.conf:host all all 127.0.0.1/32信任重新启动pg(服务)执行psql-U postgres-h 127.0.0.1输入(在pgctl控制台中)使用密码“SomePass”更改用户postgres;从1还原pg_hba.conf。在上面