当前位置: 移动技术网 > IT编程>数据库>MSSQL > 怎么重置postgresql的用户密码?

怎么重置postgresql的用户密码?

2019年01月08日  | 移动技术网IT编程  | 我要评论

警司老公在隔壁,东风俊风er30,阿尔卡斯特的苦恼

场景:

打算新建一个postgresql的foodb并把所有者权限赋给用户foo

正常操作应该是:先创建用户foo,再用foo身份创建数据库foodb

操作

1、先创建用户foo,在postgresql的bin目录下执行命令

createuser.exe -s -p foo -u postgres

-s表示新建foo用户是superuser

-p表示执行命令后,显示输入密码的过程

-u postgres表示,使用超级用户postgres的身份连接数据库服务器,并创建新用户foo

执行时候要求输入postgres用户的密码,结果发现密码早忘了,所以需要重新设置postgres用户的密码

解决方法:

1、关闭数据库服务

2、进入数据库的工作空间目录(如果是建库是没有另外指定,应该就是postgresql安装目录下的data目录)

3、编辑修改文件pg_hba.conf,把连接权限设置的md5方式改成trust

以我的为例,原本设置是

# type database user cidr-address method

# ipv4 local connections:

host all all 127.0.0.1/32 md5

修改为

# type database user cidr-address method

# ipv4 local connections:

host all all 127.0.0.1/32 trust

4、重新启动postgre服务

5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

alter user postgres with password 'foobar';

6、修改pg_hba.conf文件,改回到md5方式,再重启数据库服务就ok了

7、再执行建用户,和建库操作

createuser.exe -s -p foo -u postgres

createdb.exe --encoding=utf8 --owner=foo --template=template_postgis -ufoo

参数:

--encoding=utf8设置数据库的字符集

--owner=foo设置数据库的所有者

--tmplate=template_postgis设置建库的模板,该模板支持空间数据操作

--ufoo用foo用户身份建立数据库

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网