昨日、PostgreSQLのVACUUMを怠り、
インデックス肥大化で接続できなくなるという事態を引き起こしてしまいました。
クライアントには大変申し訳ない限り。。。
そうなったときの対処法をメモ。
serviceとして起動していると、対処できないので、
コマンドから、サービス停止して、シングルユーザーモードでVACUUMすればOK。
まず、postgresユーザーになる。
su - postgres
大抵の場合rootでは操作できなくなってると思う。
で、rootからposgresユーザーになればいい(と思う)
次、サービス停止。
pg_ctl stop
シングルユーザーモードで起動。
postgres データベース名
VACUUMを実行
backend> VACUUM
肥大化した色んなものをゴニョゴニョしているというお知らせが続く…
↑この表示がおわったら「Ctrl+D」でシングルユーザーモードを解放。
念のため、これを繰り返した方がいい。
で、何も出なくなったら、サービス起動
pg_ctl start
こんな感じ。
コメントを残す