私の開発コンピュータでは、競合時にデータの一貫性は必要ありません。速度のためにPostgreSQLを最適化できるDebianのようなシステムの設定はありますか(信頼性が犠牲になっても)?
これにより、最後の1GBがRAMに保存されます。 1GBを使用するまでディスクにデータを書き込まないでください。
答え1
はい、postgresがクラッシュしたり、不適切に再起動した場合、コミットを失っても問題ない場合は、次のように設定できます。
synchronous_commit = off
テーブルを使用することもできますUNLOGGED
。
initdb
クラッシュ(再)後にPostgresインストールを完全に再作成する場合は、次のように追加設定できます。
fsync = off
(警告、ホストがクラッシュするとデータが破損します。)full_page_writes = off
(警告、ホストがクラッシュするとデータが破損する可能性があります。)
その他のヒントについては、私の答えをご覧ください。迅速なテストのためのpostgresの最適化。
RAMディスクを使用しても役に立ちません。記録されていないテーブルを使用し、チェックポイントが頻繁に発生しないように調整し、非永続データが必要な場合はfsyncとフルページ書き込みをオフにします。 Postgresとオペレーティングシステムはメモリを確保する必要がない限りディスクにコンテンツを書き込むことはありませんが、他のコンテンツのためのメモリが必要な場合は自由にそれを行うことができます。通常、純粋なRAMディスクよりもパフォーマンスが優れています。