Bulk Loading and Restores/ja

From PostgreSQL wiki
Jump to navigationJump to search

マニュアルのPopulating a Databaseではバルクロードについて、DDLの側面からの優れたガイドラインを説明しています。 これに加え、Tuning Your PostgreSQL Serverの一般的なガイドライン、特にcheckpoint_segmentsについてのものにも従うべきです。

リストアの際に考慮する可能性がある追加の選択肢は、単に同期コミット(8.3以上)を使用すること、あるいはfsync=offに変更することです。 これを行うことができないよくある理由は破損を恐れることですが、データベースに初めてデータを投入する場合であればあまり重要ではありません。 しかし、データが実際に大規模であれば、ロード中のクラッシュは大きな時間損失となることには注意してください。 やり直す余裕を取ることができなければ、fsyncをいじることは危険です。

この話題に関する他の記事:

他にも注意深く注視する領域としてバキューム処理があります。 リソースが競合しますので、おそらくロード中は自動バキュームを無効にしたいと考えるでしょう。 こうした場合、ロードが完了した後、テーブルの統計情報を整理するために、手作業でANALYZEを行う必要があります。 また、すべてのHint Bitsを更新するために、この時点で通常のVACUUMを実行することも検討してください。 しかし実行にはかなりの時間がかかることがあり得ます。