postgresql配置文件pg_hba.conf配置、修改postgresql超級用戶的密碼


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM