• ベストアンサー

pg_shadowについて

初めまして。 pg_shadowのテーブルを全て削除してしまい、 postgresスーパーユーザーですらDBにアクセス出来なく なってしましました。 こうした場合はもう如何ともし難いのでしょうか… 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

@ITでも似た書き込みをみたような。。。 実際やったことはないので、なんとも言えないのですが、まったく同じバージョンのPostgreSQLを前回インストール時と同じ方法で別サーバにインストールし、initdbして、アクセス不可になったPostgreSQLの /usr/local/pgsql/data ディレクトリをそっくり新しいほうへ上書きすることでなんとかなるような気もします。(もちろんディレクトリコピー時には、 移行元、先ともPostgreSQLのサービスはstopさせておく必要があります。) これで駄目ならちょっと方法が思いつきません。

参考URL:
http://www.postgresql.jp/document/pg74doc/html/backup-file.html
jiketa0218
質問者

お礼

copymaster様 ご回答有難うございました。実行してみます。 結果はまた改めてご報告させて頂きます。 ご指摘通り、@ITの書き込みも私です… 失礼しました。

jiketa0218
質問者

補足

copymaster様 実行してみました。ただ、別サーバーではなく、 件のpostgreSQLを初期化して試してみました。 実行手順: (1)postmaster停止 (2)/usr/local/pgsql/dataのバックアップ (3)initdb実行 (4)ここでpostmasterを起動し、アクセスしたところ、 スーパーユーザーでアクセス出来ました。(当たり前か)→postmaster停止 (5)新規作成されたdataディレクトリに、(2)でバックアップしたものを上書き (6)postmaster起動 結果: アクセスできません。よく考えたら、pg_shadowの内容もそのまま上書きされるので、無理かもしれませんね。 いずれにせよ、今後の指針が決まったので、大変助かりました。ご回答誠に有難うございました。

関連するQ&A