pgsql忘了登录免密,重置修改pgsql登录密码的方法

pgsql忘了登录免密,重置修改pgsql登录密码的方法

psql 命令行工具是PostgreSQL中的一个命令行交互式客户端工具,位置在安装目录的bin目录下(D:\Program Files\PostgreSQL\14\bin)

一、修改pg_hba.conf配置文件,设置免密登录

  • 文件位置
    • 打开数据目录,一般是安装目录的data文件夹
    • D:\Program Files\PostgreSQL\14\data\pg_hba.conf
  • 修改内容
    • 找到IPv4\IPv6两行,将最后的内容改为trust

修改前做好备份,密码重置完成后还需要将配置还原!

  • 修改前内容
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
  • 修改后内容
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

二、重置postgres账号密码

重置密码需要执行命令:psql -h 127.0.0.1 -p 5432 -U postgres

  • 参数解释
    • -h 服务地IP
    • -p 端口号
    • -U 登录账号
cd D:\Program Files\PostgreSQL\14\bin

PS D:\Program Files\PostgreSQL\14\bin> .\psql -h 127.0.0.1 -p 5432 -U postgres
psql (14.2)
输入 "help" 来获取帮助信息.

--执行postgres账号密码为postgres
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
ALTER ROLE
--退出
postgres=# \q
PS D:\Program Files\PostgreSQL\14\bin>

三、还原pg_hba.conf文件内容

将配置文件还原为更新前状态,一下为更新前内容。

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

四、登录验证

修改配置后,再次尝试登录系统,看看配置是否生效,如果提示输入口令,则证明配置已经生效。

PS D:\Program Files\PostgreSQL\14\bin> .\psql -h 127.0.0.1 -p 5432 -U postgres
用户 postgres 的口令:
psql (14.2)
输入 "help" 来获取帮助信息.
-- 查看所有实例
postgres=# select datname from pg_database;
  datname
-----------
 postgres
 mybd
 template1
 template0
 qmw
(5 行记录)

五、psql 常用命令

  • ? #所有命令帮助
  • \c [database_name] #切换到指定的数据库
  • \c #显示当前数据库名称和用户
  • \conninfo #显示客户端的连接信息
  • \d [table_name] #显示指定表的结构
  • \d #列出数据库中所有表
  • \di #列出数据库中所有 index
  • \dn #显示数据库中的schema
  • \dt #列出数据库中所有表
  • \du #显示所有用户
  • \dv #列出数据库中所有 view
  • \encoding #显示字符集
  • \h #sql命令帮助
  • \i testdb.sql #执行sql文件
  • \l #列出所有数据库
  • \o /tmp/test.txt #将下一条sql执行结果导入文件中
  • \q #退出连接
  • \x #扩展展示结果信息,相当于MySQL的\G
  • select version(); #显示版本信息

六、psql常用查询脚本

  • 查看当前数据库实例
    • \c
    • select current_database();
  • 切换数据库实例(进入某个数据库)
    • \c DB库名
    • psql –d DB库名
  • 查看数据库文件目录
    • show data_directory;
  • 查看表空间
    • select * from pg_tablespace;
  • 查看语言
    • select * from pg_language;
  • 查询所有schema,必须到指定的数据库下执行
    • select * from information_schema.schemata;
    • SELECT nspname FROM pg_namespace;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值