postgresqlのvacuumでビビった件
ある日突然、サービスが落ちていると連絡を受けました。
URLにアクセスしてみると、確かにサービスがダウンしていて、500 error(Internal Server Error)が出ています。
いつも思うけど、このエラーが一番やっかいだよね。
それで、またアクセス過多かな?と思ってWEBサーバーを再起動してみるも、復旧しません。
一度だけ過去に同じような現象があって、その時はVacuumをしていなかったことが原因だったと思い出した。
定期的なVacuumが必要とか、本当Postgresって厄介だよね!
で、エラーログを見るとやっぱりVacuumが必要とのこと。
database "postgres" must be vacuumed within 1000000 transactions HINT: To avoid a database shutdown, execute a full-database VACUUM in "postgres".
ググって、postgresを止めてVacuumをすればいいことを探り当てる。
どうも、シングルユーザモードというので実行すればいいらしい。
が、ネット情報通りに postgres [dbname] で実行しようとしてもpostgresが働いてくれない。
postgres does not know where to find the server configuration file. You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
この時点で1時間半経過していて、サービスが止まってるってことを考えると少し焦る。
ググっても日本語で解説しているページが出てこない。
よくエラーをみてみると、Postgresのデータのある場所を指定しろと言っているようだ。
でもどうやって指定する?
グーグル先生を頼りに英語のページを見つけ出し、試してみる。
すると何とかシングルモードで実行できた。
ここからひたすらVacuumの繰り返し。
やり方が間違っているんじゃないかと、何度も不安になる。
が、あきらめない。自分しかいない。
計10時間近くかかってようやく復旧。
無事にサービスがリスタートできた。
結論
定期的なVacuumが必要とか、本当Postgresって厄介だよね!
参考URL
http://www.hazama.nu/t2o2/archives/002782.shtml
http://blog.mikuriya.biz/archives/282
http://forums.macrumors.com/archive/index.php/t-175819.html
追記
とりあえず、ここ見てautovacuum設定したよ!
http://www.postgresql.jp/document/8.1/html/runtime-config-autovacuum.html
Google AD
- 前の記事
- docomo-iphone買わなかった
- 次の記事
- cakephp2にACLプラグインを入れてみた
関連記事
-
-
開発の現場に行って来た
ひょんな事から、他社の開発の現場に行く事に。 念願だったT社に!書類選考で落ちたよT社! 久
-
-
CakePHPでFacebook-PHP-SDKを使ってFacebookログインするアプリの作り方
こんにちは! 昨日は東京では45年ぶりに大雪が降りましたね! 自分の家の方でも雪が2
-
-
ロリポップからさくらインターネットにレンタルサーバを変更しました
前のエントリーで少し書きましたが、ロリポップを解約しました。 契約開始から3年と半年、本当
-
-
Gitに挑んだりしてみる
複数で開発するにあたって絶対必要と言ってもいい、バージョン管理ソフト。WEBSVNという選択肢も頭を
-
-
【wordpress】buddypressでの子テーマの作リ方
先日BuddyPressのインストール方法をお伝えしましたが、インストールしたままテーマを変
-
-
WordPressアプリ
iPhoneのwordpressアプリ、さっきダウンロードして今テスト。ほとんどの機能が付いてて、い
-
-
【体験談】6年間禁煙を続けられた自分の、禁煙の始め方
4月1日から消費税が8%になり、日用品への影響が少しずつ出てきているころです。 自分はお酒
-
-
PV5000/月達成したのでまたGoogleAnalyticsのデータを公開します
めちゃくちゃに力を入れていた訳でもなく、特にすごいコンテンツをエントリーした訳でもないのに、
-
-
64ビットwindows8にDiCEを入れる
DiCE[/caption] 新しいPCにwindows8入れてから、旧PCを全く触らなくな