pgsql忘了登录免密,重置修改pgsql登录密码的方法
- pgsql忘了登录免密,重置修改pgsql登录密码的方法
- 一、修改pg_hba.conf配置文件,设置免密登录
- 二、重置postgres账号密码
- 三、还原pg_hba.conf文件内容
- 四、登录验证
- 五、psql 常用命令
- 六、psql常用查询脚本
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\binPS 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
-----------postgresmybdtemplate1template0qmw
(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;