如何更改PostgreSQL用户的密码?
当前回答
转到PostgreSQL配置并编辑文件pg_hba.conf:
sudo vim/etc/postgresql/9.3/main/pg-hba.conf
然后更改此行:
Database administrative login by Unix domain socket
local all postgres md5
to:
Database administrative login by Unix domain socket
local all postgres peer
然后通过“sudo”命令重新启动PostgreSQL服务。然后
psql-U postgres
现在您将进入并看到PostgreSQL终端。
然后输入
\密码
并为PostgreSQL默认用户输入新密码。再次成功更改密码后,转到pg_hba.conf并将更改还原为“md5”。
现在您将以身份登录
psql -U postgres
使用新密码。
其他回答
要更改PostgreSQL用户的密码,请执行以下步骤:
登录psql控制台:sudo-u postgres psql然后在psql控制台中,更改密码并退出:postgres=#\密码postgres输入新密码:<新密码>postgres=#\q
或者使用查询:
ALTER USER postgres PASSWORD '<new-password>';
或在一行中
sudo -u postgres psql -c "ALTER USER postgres PASSWORD '<new-password>';"
注:
如果这不起作用,请通过编辑/etc/postgresql/9.1/main/pg_hba.conf重新配置身份验证(路径将不同)并更改:
local all all peer # change this to md5
to
local all all md5 # like this
然后重新启动服务器:
sudo service postgresql restart
如果您在Windows上。
打开pg_hba.conf文件并从md5更改为对等。
打开cmd并键入psql-postgres-postgres。
然后键入\password以提示输入新密码。
有关更多信息和详细步骤,请参阅本中帖。
将用户“postgres”的密码更改为“postgress”:
# ALTER USER postgres WITH ENCRYPTED PASSWORD '<NEW-PASSWORD>';
我使用的是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。在上面
要在没有密码的情况下登录,请执行以下操作:
sudo -u user_name psql db_name
如果您忘记了重置密码:
ALTER USER user_name WITH PASSWORD 'new_password';
推荐文章
- 如何关闭mysql密码验证?
- 查询JSON类型内的数组元素
- 获得PostgreSQL数据库中当前连接数的正确查询
- 纬度和经度的数据类型是什么?
- 如何在PostgreSQL中临时禁用触发器?
- 输入文件似乎是一个文本格式转储。请使用psql
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何添加列,如果不存在PostgreSQL?
- 如何在Postgres中获得两个字段的MIN() ?
- 截断Postgres数据库中的所有表
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?