PostgreSQL遠程連接配置的實現(xiàn)
本文是在Windows上使用Navicat遠程連接PostgreSQL,包括有密碼遠程連接以及無密碼遠程連接。
修改PostgreSQL監(jiān)聽地址
默認PostgreSQL監(jiān)聽的地址是127.0.0.1,別的機器無法遠程連接上,所以需要調整。
# 編譯安裝的PostgreSQL一般是在數(shù)據(jù)存儲目錄 # 不管是哪種安裝方式要是找不到的話可以使用find命令搜索一下 find / -name 'postgresql.conf' # 修改postgresql.conf文件 # 大約在60行左右 # 有可能是注釋的,如果注釋了要取消注釋 [root@bogon ~]# grep 'listen_addresses' /usr/local/pgsql/data/postgresql.conf listen_addresses = '*' # what IP address(es) to listen on;
重啟服務
[root@bogon ~]# su - postgres -c "pg_ctl -D /usr/local/pgsql/data/ restart" waiting for server to shut down.... done server stopped waiting for server to start....2024-05-17 03:24:12.197 EDT [10798] LOG: starting PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit 2024-05-17 03:24:12.197 EDT [10798] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-05-17 03:24:12.197 EDT [10798] LOG: listening on IPv6 address "::", port 5432 2024-05-17 03:24:12.198 EDT [10798] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2024-05-17 03:24:12.201 EDT [10801] LOG: database system was shut down at 2024-05-17 03:24:12 EDT 2024-05-17 03:24:12.204 EDT [10798] LOG: database system is ready to accept connections done server started # 查看端口監(jiān)聽情況 [root@bogon ~]# ss -nlpt | grep 5432 LISTEN 0 128 *:5432 *:* users:(("postgres",pid=10798,fd=6)) LISTEN 0 128 [::]:5432 [::]:* users:(("postgres",pid=10798,fd=7))
配置訪問權限
默認是只能本地訪問PostgreSQL的,我們需要在pg_hba.conf里面配置
# 我的是在數(shù)據(jù)存儲目錄下,如果你的不知道的話可以使用find搜索一下 [root@bogon ~]# find / -name 'pg_hba.conf' /usr/local/pgsql/data/pg_hba.conf
請注意,使用 trust 認證方法允許任何 IP 地址連接到你的數(shù)據(jù)庫,而不需要任何認證,這是非常不安全的。這通常只在開發(fā)或測試環(huán)境中使用,并且應該始終確保數(shù)據(jù)庫服務器不暴露在不受信任的網(wǎng)絡中。在生產(chǎn)環(huán)境中,你應該使用更安全的認證方法,如 md5 或 password(對于較新版本的 PostgreSQL,建議使用 scram-sha-256)。
# 找到IPv4 local connections這一行,在這一行下面添加 # 注意這樣是不安全的,因為所有地址都可以無密碼遠程連接我們的數(shù)據(jù)庫了 # host:這指定了連接類型。host 表示該規(guī)則適用于通過 TCP/IP 進行的遠程連接。如果是本地連接,通常會使用 local。 # all:這定義了哪些數(shù)據(jù)庫可以接受這個規(guī)則。all 表示這個規(guī)則適用于所有數(shù)據(jù)庫。你也可以指定特定的數(shù)據(jù)庫名,例如 mydatabase。 # all:這定義了哪些用戶可以接受這個規(guī)則。all 表示這個規(guī)則適用于所有用戶。你也可以指定特定的用戶名,例如 myuser。 # 0.0.0.0/0:這定義了哪些客戶端 IP 地址或 IP 地址范圍可以接受這個規(guī)則。0.0.0.0/0 是一個特殊的 CIDR 表示法,它表示任何 IP 地址(即沒有 IP 地址限制)。你也可以指定具體的 IP 地址,如 192.168.1.100,或者 IP 地址范圍,如 192.168.1.0/24。 # trust:這定義了認證方法。trust 表示不需要密碼或其他任何形式的認證,客戶端可以直接連接。這通常只在本地或受信任的網(wǎng)絡環(huán)境中使用,因為它允許任何人無需認證即可訪問數(shù)據(jù)庫。 host all all 0.0.0.0/0 trust
請注意,如果選擇了md5 或 password之類的需要有密碼才行,配置PostgreSQL密碼流程如下
# 切換用戶 [root@bogon ~]# su - postgres Last login: Fri May 17 03:40:32 EDT 2024 on pts/1 # 登錄數(shù)據(jù)庫 [postgres@bogon ~]$ psql psql (16.3) Type "help" for help. # 修改密碼,我這里密碼設置為123456 postgres=# ALTER USER postgres WITH PASSWORD '123456'; ALTER ROLE postgres=# \q
重啟服務
[root@bogon ~]# su - postgres -c "pg_ctl -D /usr/local/pgsql/data/ restart" waiting for server to shut down....2024-05-17 03:31:44.721 EDT [10798] LOG: received fast shutdown request 2024-05-17 03:31:44.722 EDT [10798] LOG: aborting any active transactions 2024-05-17 03:31:44.723 EDT [10798] LOG: background worker "logical replication launcher" (PID 10804) exited with exit code 1 2024-05-17 03:31:44.723 EDT [10799] LOG: shutting down 2024-05-17 03:31:44.725 EDT [10799] LOG: checkpoint starting: shutdown immediate 2024-05-17 03:31:44.727 EDT [10799] LOG: checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.004 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=0 kB; lsn=0/15698B0, redo lsn=0/15698B0 2024-05-17 03:31:44.730 EDT [10798] LOG: database system is shut down done server stopped waiting for server to start....2024-05-17 03:31:44.842 EDT [11215] LOG: starting PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit 2024-05-17 03:31:44.842 EDT [11215] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-05-17 03:31:44.842 EDT [11215] LOG: listening on IPv6 address "::", port 5432 2024-05-17 03:31:44.843 EDT [11215] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2024-05-17 03:31:44.846 EDT [11218] LOG: database system was shut down at 2024-05-17 03:31:44 EDT 2024-05-17 03:31:44.851 EDT [11215] LOG: database system is ready to accept connections done server started
使用Navicat連接
修改一下IP地址即可,修改為PostgreSQL的地址,不用輸入密碼,因為我們設置的是無密碼
如果設置的有密碼那就填寫對應的密碼即可
點擊 測試連接 如果顯示 連接成功,就可以點擊確定了
雙擊打開數(shù)據(jù)庫
到此這篇關于PostgreSQL遠程連接配置的實現(xiàn)的文章就介紹到這了,更多相關PostgreSQL遠程連接配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PostgreSQL已經(jīng)存在的表怎么設置id自增長詳解
這篇文章主要介紹了如何為已有的PostgreSQL表設置ID字段為自增,包括創(chuàng)建序列、設置默認值、可能的表結構修改以及重置序列的步驟,需要的朋友可以參考下2025-03-03詳解PostgreSQL?14.4安裝使用及一些安裝的異常問題
這篇文章主要介紹了PostgreSQL?14.4的安裝以及使用以及一些安裝的異常,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07CentOS 7下安裝PostgreSQL 9.6的教程分享
PostgreSQL在我心目中的地位要遠遠高于MySQL,雖然流行對比MySQL低很對,但是功能性一致走在MySQL的前面。下面這篇文章主要介紹了CentOS 7下安裝PostgreSQL數(shù)據(jù)庫的方法,需要的朋友可以參考借鑒,一起來看看吧。2017-02-02PostgreSQL利用遞歸優(yōu)化求稀疏列唯一值的方法
這篇文章主要介紹了PostgreSQL利用遞歸優(yōu)化求稀疏列唯一值的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01PostgreSQL實現(xiàn)按年、月、日、周、時、分、秒的分組統(tǒng)計
這篇文章介紹了PostgreSQL實現(xiàn)按年、月、日、周、時、分、秒分組統(tǒng)計的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06