postgresql配置文件pg_hba.conf配置、修改postgresql超級用戶的密碼
postgresql設置了用戶名和密碼,卻發現不輸入密碼、或者密碼輸錯都能登錄。於是在網上查,知道了原來是配置文件pg_hba.conf的問題。
1.修改pg_hba.conf文件,使得數據庫認證方式為加密登錄
以下命令可以查找pg_hba.conf的路徑
[root@localhost ~]# find / - name pg_hba.conf
進入到該配置文件中
[root@localhost ~]# vi /home/postgres/pgsql/data/pg_hba.conf
發現配置文件中內容是全部注釋掉的,如下:
# local DATABASE USER METHOD [OPTIONS] # host DATABASE USER ADDRESS METHOD [OPTIONS] # hostssl DATABASE USER ADDRESS METHOD [OPTIONS] # hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
以上相當於postgreql用戶可以免密登錄,在末尾加上
host all all 0.0.0.0/0 md5
要求客戶端提供一個 MD5 加密的口令進行認證,即必須有密碼才能登錄
修改完pg_hba.conf文件后保存退出,輸入命令使配置生效
(1) 第一種生效方法
[root@localhost data]# service postgresql reload
以上命令執行后會出現以下提示信息:
Reload PostgreSQL: OK
說明pg_hba.conf配置文件的 修改已生效。
在客戶端連接數據庫,需要輸入賬戶和對應密碼才可以登錄。pd_Admin連接數據庫時,若選了保存密碼,則C:\Users***\AppData\Roaming\postgresql路徑下,pg_class.conf中會保存密碼,可以查看。
一般情況下,Appdata文件夾是隱藏的 ,需要在計算機設置中顯示隱藏文件,具體方法自行百度。
(2) 第二種生效方法
備注:隔幾天后准備更改另外一台服務器的連接驗證方式,發現用以上方法對pg_hba.conf的修改生效時報錯。具體報錯如下:
[root@localhost data]# service postgresql reload postgresql: unrecognized service
在網上查資料后,進行以下嘗試。
① 切換到postgres用戶
[root@localhost ~]# su - postgres
-bash-4.1$ pwd
/var/lib/pgsql
-bash-4.1$ ls
-bash-4.1$ 9.5
-bash-4.1$ cd *
-bash-4.1$ ls
backups data pgstartup.log
②使用pg_ctl命令對文件生效
-bash-4.1$ ./pg_ctl reload pg_ctl: no database directory specified and environment variable PGDATA unset Try "pg_ctl --help" for more information.
報錯如上,需要在reload后添加data文件夾所在的路徑
-bash-4.1$ ./pg_ctl reload -D /var/lib/pgsql/9.5/data server signaled
出現以上提示:server signaled時說明配置生效
2.修改postgresql默認超級用戶postgres的密碼
首先以postgres用戶登錄postgresql數據庫
[root@localhost ~]# sudo -u postgres psql
接着修改postgresql的登錄密碼,結尾必須有分號";",否則修改無效,執行命令后也不會出現ALTER ROLE。
postgres =# alter user postgres with password '****';
以上命令執行后,會出現
ALTER ROLE
說明修改生效,接着退出postgresql
postgres =# \q
到此超級用戶postgres的密碼修改完成,可在pgAdmin客戶端進行驗證。
主要參考:
(https://blog.csdn.net/yaoqiancuo3276/article/details/80404883)
(https://www.centos.bz/2017/07/modify-postgresql-postgres-user-password/)
(https://blog.csdn.net/AdrainHuang/article/details/76400976)
————————————————
版權聲明:本文為CSDN博主「Heidi1992」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/skye1208/article/details/90406101