pg_dumpbinary v2.5 發布

發布於 2021-09-09,作者:Gilles Darold
相關開放原始碼

加彭,自由市 - 2021 年 9 月 8 日

pg_dumpbinary

pg_dumpbinary 是一個用來將 PostgreSQL 資料庫以二進位格式匯出的程式。匯出的結果必須使用 pg_restorebinary 還原,此工具與 pg_dumpbinary 一起提供。

pg_dumpbinary 2.5 今天發布,這個新版本增加了對結構已變更的表格資料還原的支援。

pg_dumpbinary 現在將為每個表格建立一個 meta-schema.<tablename>.txt 檔案,該檔案儲存匯出時的表格欄位清單。在還原時,如果存在此檔案,pg_restorebinary 將會讀取它,或者從匯出的 pre-data 區段取得目標欄位清單。目標清單將附加到 COPY FROM 指令,以避免出現類似 "ERROR: row field count is 28, expected 29" 的錯誤訊息。對於從升級的擴充功能中具有更多欄位的表格,或者如果您嘗試僅將資料導入到具有更多欄位的現有表格中,這是必要的。

pg_dumpbinary 在某些情況下很有用

  • 您有無法被 pg_dump 匯出的 bytea,因為 escape/hex 輸出的總大小超過 1Gb。
  • 您有自訂類型,在 bytea 內部儲存 \0,但資料以 char/varchar/text 形式返回,這會在 '\0' 之後截斷資料。在這種情況下,pg_dump 會以輸出類型匯出資料,這將導致資料遺失。
  • 任何其他可以使用二進位格式的情況。

如果您遇到這種情況,pg_dumpbinary 將透過以二進位格式匯出 PostgreSQL 資料庫來幫助您。在所有其他情況下,您必須使用隨 PostgreSQL 發布的 pg_dump/pg_restore 指令。

有關功能的完整說明,請參閱文件。

連結 & 致謝

pg_dumpbinary 是來自 LzLabs GmbH 的一個開放專案。歡迎任何有助於構建更好工具的貢獻。您只需使用 GitHub 工具發送您的想法、功能請求或修補程式。

連結