[postgresql] やる夫がvacuumで苦戦しているようです。
VACUUM について
PostgreSQLの特徴として、追記型アーキテクチャを利用しています。更新・削除時には、以前のデータを残したまま、新しいデータを末尾に追記します。更新・削除が頻繁に行われると、必要としないデータのゴミが蓄積されます。このデータベースの不要領域を回収するのに、VACUUMが用いられます。VACUUMを定期的に行わないとパフォーマンスが悪くなります。
____
/ \
/ _ノ ヽ、_ \
/ o゚((●)) ((●))゚o \ Vacuumしないと
| (__人__) | レスポンスが悪化するお
\ ` ⌒´ /
/´ `\
/ / l l .___
__l l_¶______/_/__/ ヽ
\, ´-'ヽ  ̄| ̄ ̄ ̄ ̄| l二二二二l
ヾ_ノ | '''' ' | l二二二二l
| 9=ε-8. | '''..-- | l二二二二l:::..
| ..'' | ''-. ,|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| $ vacuumdb -avz > /usr/local/postgres/work/vacuum.log.20071114 2>&1 |
- -a オプションは全てのデータベースをVacuumします。
- -v オプションは処理実行中に詳細な情報を表示します。
- -z オプションはデータベースの統計情報を計算します。
| $ tail -f /usr/local/postgres/work/vacuum.log.20071114 2>&1 ----- vacuumdb: vacuuming of database “postgres” failed: ERROR: out of memory ----- |
メモリーエラーになってます。”postgresql.conf” の” maintenance_work_mem ”値を変更してやる必要があります。恐らく多くとりすぎたか?256MBくらいが、適当と思われます。
| $ vi /usr/local/postgres/PGData/postgresql.conf ----- maintenance_work_mem = 262144 ----- |
----------------------------------------
オープンソースを使ったデータベースの構築―ApacheサーバとPostgreSQLでデータベース![]() |
| 藤田 泰徳 山崎 文則 セレンディップセレンディップセレンディップ 定価 : ¥ 3,675 2000-09 amazonで詳しく見る |
| 固定リンク
「PostgreSQL」カテゴリの記事
- [postgresql] やる夫がDBのユーザ管理をするようです。(2007.12.27)
- [postgersql] やる夫はsql結果の実行時間を出力させたいようです。(2008.03.04)
- [postgresql] やる夫がmax_connectionsの設定をするようです。(2008.03.11)
- [postgresql] やる夫がDB接続数を確認するようです。(2008.03.19)
- [postgersql] やる夫がDBにアクセス制限をかけるようです。(2008.03.24)


コメント