MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2016年12月11日 星期日

postgresql.conf 的 listen_addresses 到底在幹麻的?

在 PostgreSQL 的設定檔 postgresql.conf 裡面,第一項會遇到的參數就是 listen_address
listen_addresses = 'localhost'
listen_addresses = '*'
listen_addresses = '0.0.0.0/0'
listen_addresses = 'localhost,127.0.0.1,10.140.0.2'

上面四種設置有何不同?


第一種設置,是原生 PostgreSQL 預設的,該設定使的資料庫不理會任何來自網路的請求。這種設置,實際使用狀況會在設置 pgBouncer 時,統一由他管理外部連線時會作這樣設定。

第二種狀況,是 EnterpriseDB 企業版預設的,也是一般常常使用的情況。這種設定,就會使資料庫直接聽取「任何」綁在這台主機上面的 IP,

第三種狀況,其實和第二種是一樣的,只是沒有列 IPv6 的,這樣子便無法聽取 IPv6 的網路。

最後一種狀況,則是限定資料庫聽取所列舉的 IP:在這裡便是限制在兩列 LoopBack IP,localhost127.0.0.1;以及一個被綁在這台主機上面的子網路 IP,10.140.0.2。當一個主機有多個網路界面(例如,很多張網卡,或設置了一些虛擬 IP),就能利用使參數限制他的服務綁定的 IP。這種設定用正向表列,比較細緻,但是比較少人這樣設定。

雖然 Postgres 這樣算是能綁定 Listen Address,不過一般方便起見,都是設成第二項
listen_addresses = '*'

以便讓 PostgreSQL 可以用不同網路存取外部請求,再搭配 pg_hba.conf 進行過濾與管理


以上功能的差異,可以自行變動一下,重新啟動再試著連線看看,就很明顯了。


參考資料:年代久遠不可考 .....

沒有留言:

張貼留言