Ubuntu下搭建postgresql主從服務器(方法2)


Ubuntu下搭建postgresql主從服務器(方法2)sql


安裝略數據庫


postgresql主服務器:服務器



$ vi /home/postgresql/data/postgresql.conf併發


按a或i進入編輯模式ide



listen_addresses = ‘*’post


wal_level = hot_standby   (默認爲註釋的)日誌


max_wal_senders = 5  (默認爲註釋,這個參數是控制主庫最多能夠有多少個併發的standby數據庫)postgresql


wal_keep_segments = 32  (默認爲註釋,設置足夠大的值,以防止主庫生成wal日誌太快,日誌尚未來得md5


及傳送到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 postgres@10.0.0.3:/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上查看是否已經同步

相關文章
相關標籤/搜索