【Postgresql】忘记密码/ 无权限修改/ 用户切换

【完整步骤概述】:

1、查找配置文件位置  find / -name pg_hba.conf

2、修改配置文件  改为  无需密码登陆的方式 (步骤001)

3、执行密码修改(步骤002)

4、如果修改没有权限,需要先切换用户 ()

5、重新执行密码修改

6、恢复配置,重启服务

【解决方法】:

        1、关闭数据库服务

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

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

              以我的为例,原本设置是

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

              修改为

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

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

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

alter user postgres with password 'foobar';

           6、报错无权限,需要切换到对应有权限的用户下,再执行步骤5;

【注】修改时你可能会报错:

postgres=> alter user postgres with password '111111';
ERROR:  must be superuser to alter replication users

参考:用户切换

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



【postgresql 】使用\c 命令切换数据库和用户

切换数据库:\c [database_name]

切换用户:\c - [user_name]


先连上用户postgres、数据库postgres

$ su - postgres

Last login: Wed Mar 1 13:16:48 CST 2017 on pts/1
-bash-4.2$ psql

psql (9.2.18)
Type "help" for help.

postgres=#

切换数据库

postgres=# \c zzj_db;
You are now connected to database "zzj_db" as user "postgres".

zzj_db=#

切换用户

zzj_db=# \c - zzj_user;
Password for user zzj_user:

You are now connected to database "zzj_db" as user "zzj_user".

zzj_db=> 
 


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值