• 如何重置postgresql用户密码


    如何重置postgresql用户密码
    场景:
             打算新建一个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. # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    2. # IPv4 local connections:
    3. host    all         all         127.0.0.1/32           md5
                  修改为
    1. # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    2. # IPv4 local connections:
    3. host    all         all         127.0.0.1/32           trust
              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用户身份建立数据库
     
  • 相关阅读:
    中国用户mac上快速安装nodejs
    移动前端的开发痛点
    前端模块化思考
    tcpdump学习
    curl 同时发送多个请求
    apache 做http代理
    文件 FIFO队列
    mysql多表字段名重复的情况
    时间戳实现增量数据同步
    python 学习
  • 原文地址:https://www.cnblogs.com/huanu/p/11963990.html
Copyright © 2020-2023  润新知