【Postgresql】postgresql9.3.9版本基於流複製方式雙機熱備方案

來源:互聯網
上載者:User

標籤:postgresql   雙機熱備   流複製   9.3.9   

系統內容:centos6.5
資料庫版本: postgres9.3.9
虛擬機器2台:
Master:10.0.2.160
Slave:10.0.2.69
資料存放區位置:/usr/local/pgsql/data/

  1. 安裝pgsql資料庫
    安裝過程可參考我上一篇部落格:http://blog.51cto.com/13632960/2117902兩台機器都需要安裝完成,我在做熱備的時候,Master資料庫開啟,Slave關閉。
  2. 建立流複製使用者
    Master端進入資料庫並執行:CREATE USER repuser?replication PASSWORD ‘repuser‘;?
  3. 配置Master端的訪問檔案pg_hba.conf?
    vim /usr/local/pgsql/data/pg_hba.conf 在最後添加:host replication repuser?10.0.2.69/16 md5 #md5為串連方式 你們也可以選擇其他的
  4. 配置Master端設定檔 postgresql.conf
    在修改之前先建立一個檔案夾用于歸檔檔案存放:mkdir /usr/local/pgsql/data/archive
    vim /usr/local/pgsql/data/postgresql.conf
    修改下列項:
    max_wal_senders = 1?wal_level = hot_standbyarchive_mode = on?archive_command = ‘cp %p /usr/local/pgsql/data/archive/%f‘‘hot_standby = onwal_keep_segments = 64
    注釋: max_wal_senders是Slave庫的節點數,有多少個slave庫就設多少,? ? ?         wal_level是write ahead log參數值,設定流複製務必將此值更新成hot_standby?          ? ?wal_keep_segments預設值是16,是PG_XLOG下的記錄檔數相關參數??          ? archive也可以選擇關閉,歸檔是定時恢複用的,流複製不是必須的
  5. 主庫備份——Master端
    開啟檔案備份:
    /usr/local/pgsql/bin/psql psql (9.3.9)Type "help" for help.postgres=# select pg_start_backup(‘backup_1‘);
  6. 打包Master端/usr/local/pgsql/data/目錄,並發送到Slave伺服器上,排除pg_xlog目錄內容!!!!!
    cd /usr/local/pgsql/tar -czvf? data.tar.gz data--exclude=data/pg_xlog?Slave端如果已經安裝了postgres資料庫,資料目錄名稱一樣的話,可以先停掉備機資料庫,更改資料目錄名稱mv data data.old遠程拷貝至slave端並在備機端解壓scp data.tar.gz [email protected]:/usr/local/pgsql/拷貝完成後,進入資料庫關閉備份:select pg_stop_backup(),current_timestamp;
  7. Slave端解壓並修改相關設定檔
    cd /usr/local/pgsqltar -zxvf data.tar.gzcd  /usr/local/pgsql/datamkdir pg_xlog vim /usr/local/pgsql/data/postgresql.conf修改:hot_standby = on
  8. 備機需要配置recovery.conf檔案,將share目錄中的recovery.conf.sample拷貝並改名。
    cp  /usr/local/pgsql/share/recovery.conf.sample     /usr/local/pgsql/data/recovery.conf複製完成後修改如下內容:?standby_mode = ‘on‘primary_conninfo =‘host=10.0.2.69??port=5432 user=repuser password=repuser   keepalives_idle=60‘
  9. 啟動Slave庫
    正常啟動備庫,有異常可以看log/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >>logfile 2>&1
  10. 查看主庫及從庫啟動狀態
    Master:

    Slave:
  11. 至此postgresql流複製熱備方案部署完成,可以通過navicat或者命令列進行資料插入或者建表測試功能可用性。

【Postgresql】postgresql9.3.9版本基於流複製方式雙機熱備方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.