加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何重置postgresql用户密码

发布时间:2020-12-13 17:39:55 所属栏目:百科 来源:网络整理
导读:场景: 打算新建一个postgresql的数据库 FooDB 并把所有者权限赋给用户 foo 正常操作应该是:先创建用户foo,再用foo身份创建数据库 FooDB 操作 1、先创建用户 foo,在postgresql的bin目录下执行命令 createuser.exe -s -P foo -U postgres -s 表示新建 foo

场景:

打算新建一个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

以我的为例,原本设置是

  1. #TYPEDATABASEUSERCIDR-ADDRESSMETHOD
  2. #IPv4localconnections:
  3. hostallall127.0.0.1/32md5

修改为

  1. #TYPEDATABASEUSERCIDR-ADDRESSMETHOD
  2. #IPv4localconnections:
  3. hostallall127.0.0.1/32trust

4、从新启动postgresql数据库服务

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用户身份建立数据库

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读