Enterprise Postgresのpg_dumpコマンド実行時の「ERROR: invalid memory alloc request size xxxxxxxxxx」エラーについて

Enterprise Postgres の技術情報はこちら

Enterprise Postgresのpg_dumpコマンドで、bytea型の列を含むテーブルをバックアップしたところ、「テーブル"xxxxx"の内容のダンプに失敗: PQgetResult()が失敗しました。 (15877)」、 「ERROR: invalid memory alloc request size xxxxxxxxxx」というエラーになりました。
原因と対処方法を教えてください。
[原因]
pg_dumpコマンドでは、bytea型のデータを文字として出力します。そのため、bytea型のデータが文字に変換され、文字として扱えるデータ長の定量制限(1ギガバイト)を超えました。

bytea型のデータの出力形式の詳細は、以下のマニュアルを参照してください。
 Fujitsu Enterprise Postgres 15
  PostgreSQL 15.0 Documentation
   Part II. The SQL Language
    Chapter 8. Data Types
     8.4. Binary Data Types

扱えるデータ種と定量制限の詳細は、以下のマニュアルを参照してください。
 Fujitsu Enterprise Postgres 15
  導入ガイド(サーバ編)
   付録G 定量制限
    表G.5 扱えるデータ種と属性

[対処方法]
COPYコマンドでFORMATパラメータにbinaryを指定して、当該テーブルのデータを退避してください。COPYコマンドはデータのみしか退避しませんので、pg_dumpコマンドの-sオプションや--exclude-table-dataを用いてテーブル定義を合わせて退避してください。

詳細は以下を参照してください。

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 Enterprise Postgres
製品・サービス情報
プラットフォームWindows,Solaris,Linux
アンサー種別 運用/保守
このページの先頭へ