45mbのpg_dumpファイルを復元しようとしましたが、「メモリ不足」エラーで失敗し続けます。
私のpostgresql-10-main.logの内容:
2018-01-16 06:14:50.692 WAT [32405] postgres@app_development LOG:
could not receive data from client: Connection reset by peer
2018-01-16 06:14:50.692 WAT [32405] postgres@app_development CONTEXT: COPY assessment_scores, line 15347
2018-01-16 06:14:50.692 WAT [32405] postgres@app_development STATEMENT: COPY assessment_scores (id, student_id, assessment_id, score, exempt, late, collected, missing, comment, deleted_at, created_at, updated_at) FROM stdin;
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development LOG: incomplete message from client
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development CONTEXT: COPY assessment_scores, line 15347
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development STATEMENT: COPY assessment_scores (id, student_id, assessment_id, score, exempt, late, collected, missing, comment, deleted_at, created_at, updated_at) FROM stdin;
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development ERROR: unexpected EOF on client connection with an open transaction
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development CONTEXT: COPY assessment_scores, line 15347
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development STATEMENT: COPY assessment_scores (id, student_id, assessment_id, score, exempt, late, collected, missing, comment, deleted_at, created_at, updated_at) FROM stdin;
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development FATAL: terminating connection because protocol synchronization was lost
2018-01-16 06:14:50.693 WAT [32405] postgres@app_development LOG: could not send data to client: Broken pipe
HTOPで確認したところ、RAMは約4GB/8GBであり、これが発生するとSWAPスペースは使用されません。
DBサーバーはlocalhostです。
問題を理解しました。
Postgres 9.6からPostgres 10にDBダンプをインポートしようとしました。
Postgres 9.6にダウングレードし、正常にインポートされました。
サーバー側のログ、そして明らかにクライアント(pg_restore
(この場合)が死ぬ、私はOOMがローカルマシンで発生するに違いない。これを解決するには、多くの要因に依存する可能性があります。多くのRAMを消費するプロセスを閉じたり、スワップを追加したりするなどです。