2014-11-24 62 views
1

我可能在引導啓動的初始主從複製安裝時很幸運。但重新嘗試後,設置不會複製數據。瞭解PostgreSQL角色和安全性,特別是在複製下

通過審查事項並篩選各種文檔,我發現有一些不清楚的地方與數據複製的角色和安全性有關。

在安裝的PostgreSQL,默認狀態具有下列特權

postgres | Superuser, Create role, Create DB, Replication | {} 

並由此推斷這包括一個LOGIN基本用戶。

如果postgres的具有複製和登錄功能,是否真的必要或者僅僅優選創建replicator用戶對於其隨後pg_hba.conf中定義的函數?

host replication  replicator  slave_ip/32   trust 

默認postgresql.conf中有關於ssl的on/off開關,加上按鍵指針三個指令。我瞭解postgre使用端口5432.那麼/32代表什麼?最後,將複製需要 ssl和證書來運行復制 - 或者它只是更可取

抱歉,如果這不過好像3個問題,對我來說他們似乎緊密相連

回答

1

這不是必要創建複製一個新的用戶,但它的強烈首選,因爲它降低了複製角色的特權。

您必須將複製角色的憑證存儲在某個地方,或者配置Pg,因此不需要存儲憑證(如上面的示例所示,依賴於IP地址)。你真的真的不希望超級用戶登錄只是躺在副本上,任何人誰有權訪問該機器或可以妥協它可以使用它來攻擊你的主服務器。


/32是在CIDR表示法的子網掩碼,就好像你寫/255.255.255.255。這就是你如何在可以佔用網絡地址範圍的字段中寫入單個IP地址。


複製不使用SSL。如果您要通過不完全信任的網絡,請使用SSL。

+0

優秀。因此,如果我有兩臺不在同一網絡上的服務器(就像AWS區域一樣),最好使用ssl。自簽名證書會爲複製用戶執行嗎? – Jerome 2014-11-24 10:48:42

+0

@Jerome當然,如果你將證書添加到另一端的certdb – 2014-11-24 10:58:03

+0

霧中,你仍然可以使用'sslmode = verify'! ... – Jerome 2014-11-24 11:03:00