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

Symfoware Serverの技術情報はこちら

Symfoware Serverのpg_dumpコマンドで、bytea型の列を含むテーブルをバックアップしたところ、「テーブル"xxxxx"の内容のダンプに失敗: PQgetResult()が失敗しました。 (15877)」、「ERROR: invalid memory alloc request size xxxxxxxxxx」というエラーになりました。原因と対処方法を教えてください。
[原因]
pg_dumpコマンドでは、bytea型のデータを文字として出力します。そのため、bytea型のデータが文字に変換され、文字として扱えるデータ長の定量制限(1ギガバイト)を超えました。
bytea型のデータの出力形式の詳細は、以下のマニュアルを参照してください。
 FUJITSU Software Symfoware Server V12.7.0
  PostgreSQL 12.7 Documentation (*1)
   Part II. The SQL Language
    Chapter 8. Data Types
     8.4. Binary Data Types

(*1)Linux Enterprise Extended Editionの場合は以下のマニュアルを参照してください。
 PostgreSQL 14.0 Documentation
  Part II. The SQL Language
   Chapter 8. Data Types
    8.4. Binary Data Types

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

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

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

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