*

postgresqlのvacuumでビビった件

公開日: : 最終更新日:2013/11/28 WEBサービス, システム, テクニック

PostgreSQL-9

ある日突然、サービスが落ちていると連絡を受けました。
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


Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

DiCE

64ビットwindows8にDiCEを入れる

DiCE[/caption] 新しいPCにwindows8入れてから、旧PCを全く触らなくな

記事を読む

ロリポップ

ロリポップからさくらインターネットにレンタルサーバを変更しました

前のエントリーで少し書きましたが、ロリポップを解約しました。 契約開始から3年と半年、本当

記事を読む

no image

Blogger Syntax Highlighter

今さらですが、Blogger移転を機にSyntax Highlighterを入れてみました。こちらの

記事を読む

【アフィリエイト】WordPressプラグイン「AmazonJS」をインストールしてみました

ずん飯尾という芸人さんがいます。 中でも「現実逃避シリーズ」がプチブレイクしていて、現実離

記事を読む

no image

google translate

もうね、すごいとしか。http://www.google.com/webelements/#!/tr

記事を読む

no image

PHPのpear インストールにて

今さらながらPEARを触ることに。以前に少しだけ触ったことがあって、「ダウンロードするだけでしょ?超

記事を読む

no image

zenphotoを入れてみる

これまでの写真データ管理にはGoogleのWEBアルバムを使ってきたが、無料で使えるのは1GBまでだ

記事を読む

composerでcakephpをインストールしてプロジェクトを始めてみる

こんにちは!今日も寒いです。 この時期になると気になってくるのが花粉症です。 自分は花粉

記事を読む

facebook logo

facebookでログイン機能を作成してみた

最近の会員サイトには、facebookでログインする、という機能がよくついてます。 この機能が

記事を読む

CakePHP1.3でブラウザを閉じてもセッションが切れないようにする方法

ちょっと体調を崩してしまってましたが、なんとか回復してきました。(辛かった・・・) 本当に

記事を読む

Google AD

Google AD

PAGE TOP ↑