在Ubuntu上重置PostgreSQL的密码
我正在使用Ubuntu。 在rails上安装Postgresql数据库之前的几天, 我创build了数据库服务器的超级用户,我忘记了postgresql超级用户的密码。 任何人都可以帮助如何重置超级用户的密码。 我试过的一件事,我卸载它,然后再次安装它,但超级用户保留,这是以前创build的。
假设你是机器的pipe理员,Ubuntu已经授予你sudo权限来以任何用户身份运行任何命令。
另外假设您没有限制pg_hba.conf
文件(位于/etc/postgresql/9.1/main
目录)中的权限,它应该包含这一行作为第一条规则:
# Database administrative login by Unix domain socket local all postgres peer
(关于文件位置: 9.1
是主要的postgres版本, main
是你的“cluster”的名称,如果使用更新版本的postgres或非默认名称,它将有所不同。使用pg_lsclusters
命令获取你的版本/系统)。
无论如何,如果pg_hba.conf
文件没有这行,编辑文件,添加它,并重新加载服务与sudo service postgresql reload
。
那么你应该可以用psql
作为postgres超级用户用这个shell命令login:
sudo -u postgres psql
一旦进入psql,发出SQL命令:
ALTER USER postgres PASSWORD 'newpassword';
在这个命令中, postgres
是超级用户的名字。 如果忘记密码的用户是ritesh
,那么命令是:
ALTER USER ritesh PASSWORD 'newpassword';
参考资料: PostgreSQL 9.1.13文档,第19章客户端authentication
请记住,你需要在最后input一个单独的S来inputpostgres