忘记PostgreSQL的安装密码,需要使用无密码的方式登陆,这样需要重启postgresql。
1、备份配置文件pg_hba.conf
我们需要对pg-hba.conf修改,在改动前最好先备份它。它一般在/etc/postgresql-9.1/pg_hba.conf。
cd /etc/postgresql-9.3/
cp pg_hba.conf pg_hba.conf-backup
2、修改配置文件pg_hba.conf
添加以下内容到文件的第一行:
local all all trust
3、重启postgresql
sudo /etc/init.d/postgresql restart
如果重启报错:
local connections are not supported by this build
则把刚才的内容
local all all trust
修改为
host all all 127.0.0.1/32 trust
4、使用超级用户postgres(有些postgresql的超级用户名为pgsql)无密登陆,并重置密码。
登陆:
psql -h 127.0.0.1 -U postgres
修改密码:
ALTER USER myuser with password 'mypassword';
5、恢复原来的配置
完成重置密码后,记得要恢复原来的配置文件,因为使用trust启动是无需密码登录的。
cp pg_hba.conf-backup pg_hba.conf
完成恢复后,需重启服务器
sudo /etc/init.d/postgresql restart