*

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

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

WP-SpamFree by Pole Position Marketing

関連記事

ログインアカウント

cakephpでviewからログイン判定してアカウント表示する機能

cakephpのログイン機能を、viewから判定させたかったので調べてみました。 よく

記事を読む

【今さら】ブラインドタッチができるようになるまでにやった3つの事【もういいでしょ】

過去、仕事で一緒になった人がブラインドタッチが苦手だということがありました。 両手の人差し

記事を読む

no image

Blogger Syntax Highlighter

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

記事を読む

no image

WEBという革命

自分がインターネットと出会ったのは14~15年前だが、海外に行くことがあって本当にネットの便利さ

記事を読む

【なぜ?!】ブログの直帰率が激減しました【GoogleAnalytics】

少し前から気づいていましたが、このブログの直帰率が激減しました。 まずはこちらの図表からどうぞ。

記事を読む

さくらインターネットでPEAR::MDB2とServices_Amazonを入れてみた

前回の続きで、PEAR::MDB2と、Services_Amazonをさくらインターネットに

記事を読む

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

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

記事を読む

no image

お名前ドットコムとDNSサーバ構築

以前話題にしたサーバ構築の件、DNSサーバとmailサーバを立てる事がなくなった。DNSサーバはお名

記事を読む

no image

オブジェクトとクラスについて

基本的なところをちょっと復習。 下記あたりが参考になったのでメモ。 http://www.k

記事を読む

no image

さよなら、SKYPE

MSのSkype買収--相乗効果で狙う顧客基盤拡大 - CNET Japan近所に住んでる仲の良かっ

記事を読む

Google AD

Google AD

iPhone6が来ました。アップルのサポートは未だ健在だったというお話。

アップルは製品だけじゃなくて、サポートの対応にまでその企業哲学

iphone6にするか、iphone6plusにするか、まだ決めなくてもいい方法

iphone6が発表されましたね。iwatchは来年に持越しで

パパも2歳になったよ

早いもので子供が2歳になりました。 年を取るごとに年月が早く

転職して新しい職場で仕事始めました

1か月以上もブログを放置してましたが、私は元気です。 むしろ

6月末で現職を退職します

ご存知の方もいらっしゃると思いますが、6月末で現職を退職するこ

→もっと見る

PAGE TOP ↑