Rit*_*tta 84 unix postgresql postgresql-9.1
我正在使用Ubuntu.几天前我在rails上安装了rubg的Postgresql数据库.我为数据库服务器创建了一个超级用户,我忘记了postgresql超级用户的密码.任何人都可以帮助如何重置超级用户的密码.我尝试了一件事,我卸载它,然后再次安装它,但保留了以前创建的超级用户.
Dan*_*ité 189
假设您是该计算机的管理员,Ubuntu已授予您sudo以任何用户身份运行任何命令的权利.
另外假设你没有限制pg_hba.conf
文件中的权限(在/etc/postgresql/9.1/main
目录中),它应该包含这一行作为第一条规则:
# Database administrative login by Unix domain socket
local all postgres peer
Run Code Online (Sandbox Code Playgroud)
(关于文件位置:9.1
是主要的postgres版本和main
"群集"的名称.如果使用更新版本的postgres或非默认名称,它将有所不同.使用该pg_lsclusters
命令获取您的版本/系统的此信息).
无论如何,如果pg_hba.conf
文件没有该行,请编辑该文件,添加该文件,然后重新加载该服务sudo service postgresql reload
.
然后你应该能够psql
使用这个shell命令以postgres超级用户身份登录:
sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)
进入psql后,发出SQL命令:
ALTER USER postgres PASSWORD 'newpassword';
Run Code Online (Sandbox Code Playgroud)
在此命令中,postgres
是超级用户的名称.如果忘记密码的用户是ritesh
,则命令为:
ALTER USER ritesh PASSWORD 'newpassword';
Run Code Online (Sandbox Code Playgroud)
参考文献:PostgreSQL 9.1.13文档,第19章.客户端身份验证
请记住,您需要在末尾键入带有单个S的postgres