如何更改 PostgreSQL 用户的密码?
无需密码登录:
sudo -u user_name psql db_name
如果您忘记了密码,可以进行密码重置:
ALTER USER user_name WITH PASSWORD 'new_password';
rm ~/.psql_history
。 - RickyAALTER USER myuser RENAME TO newname;
...由于某种原因,当我在谷歌搜索时,它会指向我这里 :) - equivalent8要更改PostgreSQL用户密码,请按照以下步骤进行:
log in into the psql console:
sudo -u postgres psql
Then in the psql console, change the password and quit:
postgres=# \password postgres
Enter new password: <new-password>
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
为了
local all all md5 # like this
然后重新启动服务器:
sudo service postgresql restart
\p
,它会给我密码;如果我输入\password postgres
,它会先给出密码,然后警告\p extra argument "assword" ignored; \p extra argument "postgres" ignored
。 - David LeBauersudo passwd postgres
- Punnerudsudo passwd postgres
"_ 天哪!我太困惑了。Postgres和Linux都有相同的用户。我是新手使用Postgres,并在新的Django网站中使用它。我需要备份数据库,并选择了5个随机教程,但都没有很好地解释。长话短说,这解决了密码问题,所以我可以进行备份。 - xtian我认为更改密码的最佳方法就是简单地使用:
\password
在Postgres控制台中。
根据ALTER USER
文档:
使用该命令指定未加密密码时必须格外小心。密码以明文形式传输到服务器,并且可能还会记录在客户端的命令历史或服务器日志中。psql包含一个命令\password,可用于更改角色的密码而不暴露明文密码。
注意:ALTER USER
是ALTER ROLE
的别名
\password用户名
。 - Martin你可以并且应该对用户的密码进行加密:
ALTER USER username WITH ENCRYPTED PASSWORD 'password';
psql
历史记录或 shell 记住... 如何使用哈希(例如 SHA1)密码? - Peter Krauss修改密码:
sudo -u postgres psql
然后
\password postgres
现在输入新密码并确认。
然后输入\q
退出。
要使用Linux命令行更改密码,请使用:
sudo -u <user_name> psql -c "ALTER USER <user_name> PASSWORD '<new_password>';"
HISTCONTROL
被设置为ignorespace
或ignoreboth
,那么以空格开头的命令行不会被添加到历史记录中。 - Fernando BassoHISTCONTROL
被设置为ignorespace
或ignoreboth
,那么以空格开头的命令行不会被添加到历史记录中。 - undefined前往您的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
Database administrative login by Unix domain socket
local all postgres peer
然后通过“sudo”命令重启PostgreSQL服务。然后
psql -U postgres
您现在将进入并看到PostgreSQL终端。
然后输入
\password
并输入 PostgreSQL 默认用户的 新 密码。成功更改密码后,转到 pg_hba.conf 并将更改恢复为“md5”。
现在您已登录为
psql -U postgres
使用您的新密码。
user@user-NC10:~$ psql -U postgres psql:致命错误:用户“postgres”的对等身份验证失败
- G M$version,' /usr/bin/psql: psql: 第26行:
my ($version, $cluster, $db, $port, $host);' 感谢您的帮助! - G Msudo -u postgres psql
你将会得到以下类似的提示:
postgres=#
ALTER USER postgres WITH ENCRYPTED PASSWORD 'postgres';
您将会得到以下内容:
ALTER ROLE
(可以随意使用您选择的编辑器替换 nano。)
sudo nano /etc/postgresql/9.5/main/pg_hba.conf
查找一个未被注释的行(即不以 # 开头的行),其内容如下所示。空格可能略有不同,但单词应该保持一致。
local postgres postgres peer
to local postgres postgres md5
sudo service postgresql restart
为 postgres 用户请求新密码(不在命令中显示):
sudo -u postgres psql -c "\password"
如果您使用的是Windows操作系统。
打开pg_hba.conf
文件,将md5
更改为peer
。
打开命令提示符并键入psql postgres postgres
。
然后键入\password
以提示输入新密码。
有关更多信息和详细步骤,请参见此Medium帖子。
psql
时使用的默认用户是当前的shell用户(echo $USER
)。当当前的shell用户不是“postgres”时,我们需要使用sudo -u postgres psql
以“postgres”的身份登录到psql
中。此外,请注意,我们无法将当前的shell用户切换为“postgres”,因为该帐户默认已被锁定。 - M Imam Pratama