]> git.openstreetmap.org Git - chef.git/blobdiff - roles/db-master.rb
Configure database for logical replication
[chef.git] / roles / db-master.rb
index eaaca0a4957fc29c8f94472b8c4d0dd3d9817ef9..11080f5ee98672a6d1c98254c6907bb0fcafb819 100644 (file)
@@ -3,38 +3,22 @@ description "Role applied to all the master database server"
 
 default_attributes(
   :postgresql => {
-    :versions => ["9.5"],
     :settings => {
       :defaults => {
-        :wal_level => "hot_standby",
+        :wal_level => "logical",
         :archive_mode => "on",
-        :archive_command => "/bin/cp %p /store/postgresql/archive/%f",
+        :archive_command => "/usr/local/bin/openstreetmap-wal-e --terse wal-push %p",
         :max_wal_senders => "3",
+        :max_replication_slots => "1",
         :late_authentication_rules => [
-          { :database => "replication", :user => "replication", :address => "146.179.159.168/32" },
-          { :database => "replication", :user => "replication", :address => "146.179.159.170/32" },
+          { :database => "replication", :user => "replication", :address => "10.0.48.49/32" },
+          { :database => "replication", :user => "replication", :address => "10.0.48.50/32" },
+          { :database => "replication", :user => "replication", :address => "10.0.48.5/32" },
           { :database => "replication", :user => "replication", :address => "10.0.0.10/32" },
           { :database => "replication", :user => "replication", :address => "10.0.32.40/32" }
         ]
       }
     }
-  },
-  :rsyncd => {
-    :modules => {
-      :archive => {
-        :comment => "WAL Archive",
-        :path => "/store/arrays/nvme/postgresql-archive",
-        :read_only => true,
-        :write_only => false,
-        :list => false,
-        :uid => "postgres",
-        :gid => "postgres",
-        :transfer_logging => false,
-        :hosts_allow => [
-          "146.179.159.168", "146.179.159.170, 10.0.0.10, 10.0.32.40"
-        ]
-      }
-    }
   }
 )