如何更改PostgreSQL用户的密码?


当前回答

如果您在Windows上。

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

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

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

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

其他回答

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

ALTER USER username WITH ENCRYPTED PASSWORD 'password';

检查文件pg_hba.conf。

如果身份验证方法为“对等”,则客户端的操作系统用户名/密码必须与数据库用户名和密码匹配。在这种情况下,将Linux用户“postgres”和DB用户“post格雷斯”的密码设置为相同。

有关详细信息,请参阅文档:19.1。pg_hba.conf文件

我使用的是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。在上面

通常,只需使用pgAdmin UI执行与数据库相关的活动。

如果相反,您更专注于为本地开发、CI等自动化数据库设置。

例如,可以使用这样的简单组合。

(a) 通过Jenkins创建一个虚拟超级用户,命令如下:

docker exec -t postgres11-instance1 createuser --username=postgres --superuser experiment001

这将在PostgreSQL数据库中创建一个名为experience001的超级用户。

(b) 通过运行NON Interactive SQL命令为该用户提供一些密码。

docker exec -t postgres11-instance1 psql -U experiment001 -d postgres -c "ALTER USER experiment001 WITH PASSWORD 'experiment001' "

PostgreSQL可能是命令行(非交互式)工具的最佳数据库。创建用户、运行SQL、备份数据库等。

一般来说,PostgreSQL都是非常基础的,将其集成到开发设置脚本或自动化CI配置中总体来说非常简单。

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

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