1. 程式人生 > >Win環境下Postgresl的備份庫的相關配置

Win環境下Postgresl的備份庫的相關配置

1.修改主伺服器和備伺服器上的修改備資料庫的pg_hba.conf檔案連線許可權:

 

修改成:

 

這時候必須確保在備份機器上能連上主資料庫機器,主資料庫機器器也能連線上備份機器(網路通暢,對應的埠可以訪問):

 

 

2.主資料庫做一個基礎備份(手動備份),然後把基礎備份拷貝到standby機器(備資料庫),再備份機器上新建一個數據庫(雖然與主資料庫不同名也不會影響資料庫恢復,但是不建議。),把基礎備份恢復到standby機器上新建的這個資料庫中 
3.在主資料庫上建一個超級使用者,standby資料庫會使用這個使用者連線到主庫上拖WAL日誌。(停止主備資料庫的服務)

 

注意:建立的超級使用者必須要用初始化複製和備份許可權。

4.主資料庫上的postgresql.conf檔案中設定wal_level = hot_standby。 

 

修改成

 

4.1.主資料庫上的postgresql.conf檔案中設定wal_keep_segments為一個足夠大的值,以防止主庫生成WAL日誌太快,日誌還沒有來得及傳送到standby,就會迴圈覆蓋了; 

 

修改成

 

4.2.主資料庫上的postgresql.conf檔案中設定max_wal_sender引數,這個引數是控制主庫可以最多有多少個併發的standby資料庫;


修改成 

 

5.在主資料庫上的pg_hba.conf中設定listen_addresses和連線驗證選項,允許standby資料庫連線到主庫上來拖WAL日誌資料;其中資料庫名必須填
“replication”, 這是一個為standby連線使用了一個虛擬的資料庫名稱。使用者hexinfei就是步驟2上給standby連線使用的在主庫上建的一個超級使用者。192.168.2.78就是standby資料庫的IP地址。圖示:

 

修改為

 

6.   在備份資料庫上的C:\Program Files\PostgreSQL\9.1\data資料夾下建一個recovery.conf,設定以下二項:

standby_mode = 'on'

primary_conninfo = 'host=192.168.2.58 port=5432 user=hexinfei password=leagsoft'

standby_mode設定為'on',表明資料庫恢復完成後,不會被找開,仍然處理等待日誌的模式。 

   primary_conninfo上standby連線到主資料庫所需要的連線串。Host:主機的ip地址;port:主機的postgreSQL的埠,user:步驟2建立的超級使用者;password:步驟2建立的超級使用者的密碼

 

然後在備份資料庫上C:\Program Files\PostgreSQL\9.1\data\postgresql.conf檔案配置項修改成如下圖所示:

 

7.所有修改的地方:

主資料庫的C:\Program Files\PostgreSQL\9.1\data\postgresql.conf檔案中設定如下配置項:

wal_level = hot_standby

max_wal_senders = 2

wal_keep_segments = 32

主資料庫中的C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf中新增如下配置:

host    all             all               0.0.0.0/0             md5

host    replication     hexinfei        192.168.2.78/32            md5

備資料庫中的C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf中新增如下配置:

host    all              all               0.0.0.0/0            md5

備資料庫上C:\Program Files\PostgreSQL\9.1\data\postgresql.conf檔案中設定如下配置項:

hot_standby = on

8.啟動主資料庫服務,連線資料庫,重新整理幾次,重新載入配置讓上面修改的配置生效,在停止服務。

 

9.拷貝主資料庫上C:\Program Files\PostgreSQL\9.1\data目錄下的base和global資料夾去覆蓋備資料庫的這兩個資料夾(此時主備資料庫的服務是停止的)注:這裡是覆蓋不是刪除後再粘過去。覆蓋之前可以把備份電腦中的這兩個資料夾先拷貝出來,如果出錯還可以換回來

 

10.最後啟動主資料庫服務,連線主資料庫;然後啟動備資料庫的服務,連線備資料庫。主備資料庫服務都能成功啟動,檢視一下備伺服器的C:\Program Files\PostgreSQL\9.1\data\pg_pog資料夾下日誌,如果是如下圖則是成功搭建好,可以對主資料庫進行建/刪表,增,刪,改測試,在備資料庫上進去檢視是否實時同步了,不會有延遲和錯誤。