PostgreSQL Replication之第三章 理解即時恢複(2)

來源:互聯網
上載者:User

標籤:

3.2 歸檔交易記錄

看過圖片之後,我們可以看看如何使這些東西進入工作狀態。當談到及時歸檔時,您需要做的第一件事是歸檔XLOG。PostgreSQL通過postgresql.conf提供了所有與歸檔相關的選項。讓我們一步一步地看,要啟動歸檔需要在postgresql.conf中做什麼:

1. 首先,您應該把archive_mode設定為 on。

2. 第二步,您應該配置您的歸檔命令。歸檔命令是一個簡單的帶有兩個參數的shell命令:

1. %p: 這是一個表示應該被歸檔的的XLOG的預留位置,包括它的全路徑(源)。

2. %f: 這個變數儲存了沒有路徑指向的XLOG的名字。

現在讓我們來設定歸檔。要做到這一點,我們應該建立一個存放XLOG的位置。理想情況下,您要歸檔的XLOG不與資料庫執行個體儲存在同一硬體上。為了這個例子,我們假設我們要應用一個archive 到/archive。需要在postgresql.conf中做如下改變:

wal_level = archive

# minimal, archive, or hot_standby

# (change requires restart)

archive_mode = on

# allows archiving to be done

# (change requires restart)

archive_command = ‘cp %p /archive/%f‘

# command to use to archive a logfile segment

# placeholders: %p = path of file to archive

# %f = file name only

一旦做了這些更改之後,就準備好了歸檔,您只需要重新啟動資料庫來啟用歸檔。

在我們重新啟動資料庫執行個體之前,我們要您把注意力放在wal_level上。目前有三個不同的wal_level設定可供選擇:

• minimal

• archive

• hot_standby

迄今為止,在單個節點的情況下,所產生的交易記錄的量不足以同步整個第二個執行個體。在PostgreSQL中有一些最佳化,在單節點模式情況下,這讓XLOG寫被跳過。下面的指令可以從wal_level被設定為minimal中受益:CREATE TABLE AS, CREATE INDEX, CLUSTER, 和 COPY(如果在同一個事務中,表被建立或者被清空)。

要重放交易記錄,archive是必要的。archive與hot_standby的不同之處是,archive 不需要知道當前啟動並執行事務。對流複製而言,這個資訊是至關重要的。

[重新啟動可以通過直接使用 pg_ctl –D /data_directory –m fast restart 或者通過一個標準的init 指令碼。]

檢查我們的歸檔工作最簡單方法是在資料庫中建立一些無用的資料。下面的程式碼片段顯示了可以很容易地產生一百萬行資料的方法:

test=# CREATE TABLE t_test AS SELECT * FROM generate_series(1,

1000000);

SELECT 1000000

test=# SELECT * FROM t_test LIMIT 3;

generate_series

-----------------

1

2

3

(3 rows)

我們只是建立了一系列數字。重要的是,一百萬行資料將出發相當數量的XLOG的交通。您將看到大量的檔案使它成了歸檔:

iMac:archivehs$ ls -l

total 131072

-rw------- 1 hs wheel 16777216 Mar 5 22:31

000000010000000000000001

-rw------- 1 hs wheel 16777216 Mar 5 22:31

000000010000000000000002

-rw------- 1 hs wheel 16777216 Mar 5 22:31

000000010000000000000003

-rw------- 1 hs wheel 16777216 Mar 5 22:31

000000010000000000000004

這些檔案可以很容易地用於未來的重放操作。

[如果您要節省儲存,您也可以假設這些 XLOG 檔案。只需要把gzip添加到您的archive_commmand。 ]

原文地址:http://www.cnblogs.com/songyuejie/p/4743370.html

PostgreSQL Replication之第三章 理解即時恢複(2)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.