
No.2ベストアンサー
- 回答日時:
ズバリ必要です。
VACUUMを実行するする理由は大きく2つです。
・DELETE文やUPDATE文発行により断片化した領域の開放により
アクセス速度の低下を抑制する。
・不要となったトランザクションIDの開放により、トランザクション
IDのオーバーフローの抑制する。
今回、1つ目の項目を見て、不要と判断していると思いますが、
実は2つ目も非常に重要です。放置して、オーバーフローが発生すると
データは存在するけど、参照できないと言う事実上、致命的な破壊
現象を招く結果となります。
よって頻繁でないにしても、定期的にチェックは必要です。
私は、このIDを一日一回チェックするようにして、15億を超えていたら
VACUUM実行するようにスケジューリングしています。
幸い、Ver.7.4以上の場合、VACUUM中のDBアクセスも可能となりました
ので負荷は大きいですが、システムが停止する事はないと思います。
No.3
- 回答日時:
PostgreSQL8.1からは自動VACUUMという機能が
入っているようです。
ちなみに、VACUUM実行中でもデータの更新作業が
できるようになったのは7.2のバージョンからです。
ただし、この場合のVACUUMはデータベースの領域自体は
解放しないので、データベースのファイルサイズは
小さくなりません。
領域を小さくしたい場合は-fオプションを付けて、
データベースをロックしたVACUUMを実行する必要が
あります。
7.1以前のVACUUMは常に、-fオプションを付けた動きに
なっています。
No.1
- 回答日時:
UPDATEやDELETEをしないならvacuumはそれほど必要は
ないと思いますが、
PostgreSQL付属のマニュアル
(21.1.3. トランザクション ID の周回エラーの防止)
の部分に定期的なvacuumの必要性が書いて有ります。
cron等で定期的に"vacuumdb -a -z"と実行することを
お勧めします。
-fオプションを付けなければそれほど負荷が
かかることは無いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLでのクエリ登録
-
postgresqlでのトランザクショ...
-
SQLでUPSERTを一度に複数行やる...
-
Windows10がインストールできま...
-
エクセルVBAでUWSCを使う
-
SQLにて指定日付より前、かつ最...
-
postgreSQLのint型は桁数指定が...
-
postgresql についてです
-
Ophcrackについて
-
新規作成したPostgresqlデータ...
-
select文の書き方で分からない...
-
列が存在しないと言われる
-
”テーブル”恐い
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
-
python3.12のインストール方法
-
Pythonで2つのデータ(キー無し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLについて教えてくだ...
-
createdbでいきなりつまづいて...
-
SJISのDBは作れますか?
-
PostgresSQLの環境設定について
-
PostgreSQLの再インストールに...
-
quoteした文字列を使ったSQL文...
-
\\copyコマンドでのCSV取り込み...
-
IDの払い出し(文字列)
-
文字コードエラー
-
PL/pgSQL 引数の数
-
initdbの文字コードと違う文字...
-
文字エンコーディングをEUC_JP...
-
ログイン履歴
-
データ型の変更について
-
すでにあるsqlファイルを使用し...
-
RDBとRDBMSの違いは何!?
-
PostgreSQLのpsqlでユーザの扱...
-
phpPgAdminの使い方について
-
postgresのdatabase名と、そのe...
-
時間のフォーマット
おすすめ情報