2011-12-09 15 views
2

私はec2でpostgresqlのパフォーマンスを高速化しようとしています。一時テーブルスペースの破棄後のPostgresリカバリ

ec2ノードは、低速で耐久性のあるネットワーク接続ストレージ(EBS)を備え、高速で揮発性のストレージ(一時記憶域)も備えています。つまり、システムがクラッシュすると、一時的なストレージが失われます。

dbパフォーマンスを向上させるために、一時記憶域にあるディレクトリに私のpostgres temp_tablespacesを設定することを検討しています。ただし、永続ストレージには耐久性の保証はありません。システムクラッシュ時には完全に完全に破棄されます。

データ損失の危険性がありますか? temp_tablespaceは一時的なオブジェクトに使用されるので、原則として、私はそうすべきではないようです。しかし私は、postgresデータモデルに精通しているわけではありません。ここには欠けている危険性がありますか?

答えて

1

はい、安全である必要があります。一時表が完全にコミットされる必要がある操作の前にクラッシュした場合は、操作の前に回復する必要があります。 PostgreSQLが再起動時にその領域をクリアするかどうかは分かりませんが、自分で確認します。

今、適切なオタクは

+1

PostgreSQLは一時的な日付のコンテンツのためのトランザクションログを使用していません... Amazon's memcache equivalent上のファイルシステムを実装し、それを使用しようとするだろうが、それは一時テーブルのための問題ではありません。しかし、問題は表スペース辞書です。ファイルシステムで破壊された場合は、手動でデータベースにドロップして手動で再作成する必要があります。復旧プロセスで再作成されるケースはほとんどありません。 –

関連する問題