標籤:postgresql主從
Ubuntu下搭建postgresql主從伺服器
安裝略
postgresql主伺服器:
$ vi /home/postgresql/data/postgresql.conf
按a或i進入編輯模式
listen_addresses = ‘*’
wal_level = hot_standby (預設為注釋的)
max_wal_senders = 5 (預設為注釋,這個參數是控制主庫最多可以有多少個並發的standby資料庫)
wal_keep_segments = 32 (預設為注釋,設定足夠大的值,以防止主庫產生wal日誌太快,日誌還沒有來得
及傳送到standby就會迴圈覆蓋了)
按Esc鍵退出編輯
:wq (儲存並退出)
$ vi /home/postgresql/data/pg_hba.conf
按a或i進入編輯模式
host replication postgres 10.0.0.3/32 md5 (md5是要求輸入密碼,trust是不要求輸入密碼)
按Esc鍵退出編輯
:wq (儲存並退出)
$ psql
postgres=# create user yang superuser password ‘123456‘;
postgres=# \q
重啟postgresql
$ netstat -ntpl | grep 5432
$ kill -9 上一步的pid
$ psql
postgres=# select pg_start_backup(‘‘); 讓主要資料庫處於備份狀態
可再開啟個視窗
# scp -r /home/postgresql/data [email protected]:/home/postgresql/data (建議操作前先將從伺服器
的data的目錄改名備份下)
postgres=# select pg_stop_backup(); 關閉主要資料庫的備份
postgresql從伺服器:
$ vi /home/postgresql/data/postgresql.conf
按a或i進入編輯模式
hot_standby = on (預設為注釋)
按Esc鍵退出編輯
:wq (儲存並退出)
$ vi /home/postgresql/data/recovery.conf
按a或i進入編輯模式
standby_mode = ‘on‘
primary_conninfo = ‘host=10.0.0.2 port=5432 user=yang password=123456‘
按Esc鍵退出編輯
:wq (儲存並退出)
$ rm -rf /home/postgresql/data/postmaster.pid
$ netstat -ntpl | grep 5432
$ kill -9 上一步的pid
$ postgres -D /home/postgresql/data
$ cat /home/postgresql/data/pg_log/postgresql-2015-01-14_180349.log (主要是看有沒有“LOG:
entering standby mode”和“consistent recovery state reached at 0/3000000”)
驗證:
此時在主postgresql上建立資料庫或表等,然後再到從postgresql上查看是否已經同步
本文出自 “linux” 部落格,謝絕轉載!
Ubuntu下搭建postgresql主從伺服器