これらのコマンドを使用して約8 GBのSQLファイルをインポートしようとしています
Sudo -u postgres psql yourdb -f my_file.sql
Sudo -u postgres psql yourdb < my_file.sql
Sudo -u postgres cat my_file.sql | psql yourdb
Sudo -u postgres psql
\i my_file.sql
しかし、それらすべてがout of memory
エラーメッセージ。与えられた設定も試してみました ここ
psql
は、ファイル全体をバッファリングしないか、一度に1つのクエリのみをバッファリングするか、またはCOPY
ストリームを使用するため、通常、大きなSQLファイルを再生するときに多くのメモリを必要としません。
メモリ不足になる可能性がある主な状況は、インポート時ではなく、特に32ビットシステムで大きな結果セットをSELECTするときです。この状況は通常、FETCH_COUNT
。
インポート時には、クライアント側のメモリの問題を引き起こすために、ダンプに異常に大きな行を含める必要があります。列の最大サイズは1Gbであるため、データベースにそのような内容が含まれていると、インポート時に問題が発生する可能性があります。
システムに十分なRAMがない場合は、スワップ領域を追加するだけかもしれません。