PostgreSQL9.x集簇備份pg_basebackup

    從postgresql 9版本開始增添了pg_basebackup客戶端工具程序,它能夠用來備份整個數據庫集簇,能夠用做流複製的基礎備份的一個更方便的方式。html

    pg_basebackup語法詳見:http://www.postgresql.org/docs/9.4/static/app-pgbasebackup.htmlsql

    pg_basebackup用來給一個運行的PostgreSQL 數據庫集簇進行基礎備份。進行時不會影響到鏈接到數據庫的客戶端,而且同時能夠用於時間點恢復 (參閱Section 24.3)和日誌傳輸或流複製備用服務器的起始點 (參閱Section 25.2)。數據庫

    pg_basebackup作一個數據庫集羣文件的二進制拷貝, 同時確保系統自動進出自動備份模式。備份老是使用整個的數據庫集羣, 不可能只備份單個的數據庫或數據庫對象。對於單個數據庫備份,必須使用如 pg_dump的工具。服務器

    備份時經過一個普通的PostgreSQL鏈接製做的,而且使用複製協議。 該鏈接必須由超級用戶或一個擁有REPLICATION權限的用戶完成 (參閱Section 20.2),而且pg_hba.conf 必須明確容許複製鏈接。該服務器也必須由max_wal_senders配置, 設置足夠高的級別,對於備份至少有一個會話可用。
app

    在同一時刻可能有多個pg_basebackup運行,可是從性能來講最好只採起一個備份,而後複製結果。
工具

    pg_basebackup不止能夠從主機備份還能夠從備機備份。要從備機備份, 設置備機以使其能夠接受複製鏈接(也就是,設置max_wal_senders 和 hot_standby,而且配置host-based authentication)。 還須要在主機上啓用full_page_writes。
post

    請注意,這裏有幾個從備機在線備份的限制:
性能

  1.  備份歷史文件不是在數據庫集羣備份時建立的。日誌

  2. 不保證全部須要備份的WAL文件在備份的最後歸檔。若是你計劃使用備份做爲歸檔恢復, 並但願保證此刻全部須要的文件均可以使用,你須要經過使用-x選項將他們包含到備份中。postgresql

  3. 若是備機在在線備份期間被提高爲主機,則備份失敗。

  4. 全部須要備份的WAL記錄必須包含足夠的全版書寫,這須要你在主機上啓用full_page_writes 而且不使用相似pg_compresslog這樣的工具做爲archive_command 從WAL文件中刪除全版書寫。

相關文章
相關標籤/搜索