Database

Slony PostgreSQL 複製 - 我可以在不在主伺服器上的從伺服器上的表上創建索引嗎?

  • August 21, 2015

我剛剛在 2 個 postgres 伺服器之間設置了一個slony複製設置。一台主機,一台從主機。正在複製數據。我們不想將其用於數據備份或其他任何事情,但想在從站上進行一些計算密集型計算。

如果我們要在主數據庫上不存在的從數據庫上的表上創建索引,是否有可能/可以?我們不會向從站添加任何數據,我們只是希望能夠在從站上更快地執行某些查詢。

這會打破懶惰的複制嗎?這會在以後咬我們嗎?

Slony 是基於觸發器的,並且是高度可配置的。是的 - 根據這裡的文件。

DDL 更改可以通過 psql 等應用程序直接應用於節點。Slony-I 不會複製 DDL 更改,因此必須手動將其應用於每個相關節點。直接應用 DDL 更改時應牢記以下幾點。

關於優點/缺點。我們的團隊不久前面臨著同樣的問題(高可用性的集群解決方案、IOPS 解除安裝),在調查/測試了其中一些問題後,我們最終只使用了流複製。- 易於設置/維護,在文物上讀取負載。

多租戶(Slony 無法跨不同節點拆分 postgres 模式)、在我們的應用程序後端大量使用觸發器、帶有副檔名的索引(cube、pg_trgm、cube、earthdistance 和頻繁的 DDL 更改使我們無法使用 Slony。換句話說- 您應該了解您的應用和目標,以便選擇正確的解決方案。

對於分片數據——PostgresXL 絕對值得關注。我們也試過了!但它對我們不起作用,因為它不支持我們使用的所有類型的索引:(

引用自:https://serverfault.com/questions/714946