*

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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

アマゾンのクラウド(AWS)を使ってみる

前々からやろうやろうと思っていて手を着けられていなかったサービス、アマゾンウェブサービス(AWS

記事を読む

【wordpress】buddypressでの子テーマの作リ方

先日BuddyPressのインストール方法をお伝えしましたが、インストールしたままテーマを変

記事を読む

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

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

記事を読む

CakePHPでFacebook-PHP-SDKを使ってFacebookログインするアプリの作り方

こんにちは! 昨日は東京では45年ぶりに大雪が降りましたね! 自分の家の方でも雪が2

記事を読む

no image

「おっ」思ったWEBデザイン

ちょっと調べることがあったのでメモ。■株式会社テトラシーンhttp://www.tetratone.

記事を読む

andoさん写真

「オープンソースカンファレンス2012」でcandycaneのセミナー聞いてきた

 オープンソースカンファレンス2012に行ってきました。 オープンソースカンファレンス20

記事を読む

no image

WordPressをインストールしたら最初にやってることまとめ

仕事でWordpress使ってるけど、とりあえずすごく役に立ちました。ありがとうございます。個人的に

記事を読む

no image

moodleをインストールしてみた

Eラーニングの話題が上がったので、調査のためMoodleをインストールしてみました。 1.

記事を読む

no image

JQueryのsliderでpagination機能を作ってみた

複数ページが存在するWEBサイトによく使われている機能として「ページネーション」があります。

記事を読む

SVNリポジトリのリプレース(とeclipseの設定)

  SVNリポジトリのリプレースを行ったのでエントリー。 1.リポジトリをdump svn

記事を読む

Google AD

Google AD

PAGE TOP ↑