• ベストアンサー

停止したpostgresqlサーバのデータを取出せたい

 linuxマシーンでposgresqlサーバを運用しています。 事情により、OSが起動できなくなりました。  ほかのマシーンでHDDの中のpostgresqlサーバの データ:/var/lib/psql/dataを見えて編集などができ ます。  データベースのデータを取り出したいですが、アドバ イスをよろしくお願いします。

  • namune
  • お礼率55% (149/268)

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

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

>新しくpostgresqlをインストールして、/var/lib/postgres/data のなかのデータを、旧HDDのなかのものと 換えたりしてみましたが、成功しませんでした。 PostgreSQLの付属文書で「できる」と書いてあるので、おそらく手順が違うのでしょう。 行った手順、エラーメッセージ等を記述してみては? (パスが違うのは打ち間違い?) >どこのデータを入れ替えればよいか、と教えていただ きたいです 参考URLによれば「pgsql/data以下全部」だそうです。

参考URL:
http://www.postgresql.jp/document/pg800doc/html/backup-file.html

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

他のlinux機に現在起動していないサーバで使用しているposgresと同一バージョンのものをインストールし、データを入れ替えれば、データの抜き取りが出来ます。 まぁ、ファイルが読めるうちにバックアップをとっておきましょう。

namune
質問者

お礼

 色々とやっていたうちに、返事遅れましたが、どうも ありがとうございました。 新しくpostgresqlをインストールして、/var/lib/postgres/data のなかのデータを、旧HDDのなかのものと 換えたりしてみましたが、成功しませんでした。  どこのデータを入れ替えればよいか、と教えていただ きたいです

関連するQ&A

  • Linux上のpostgreSQLデータをWindowsでみたい

    サーバA(OS:Linux Fedora Core 4、データベース:PostgreSQL 8.0 で運用しているシステムがあり、毎日そのデータを下記のdumpコマンドで PostgreSQLの全データをバックアップしています pg_dumpall > postgres.out  サーバAを触るのは怖いので、別のマシンB(Windows-Xp)に postgresql-8.2.6をインストールしました。 このバージョンは、postgresqlとともに、pgAdmin3というGUIの管理 ツールもついていると聞きここに、サーバAからバックアップされている postgres.outをrestoreして pgAdmin3でデータベース・テーブル等をみようとしています (postgres.out)を使ってのリストアの仕方は (1)(postgres.out)をpostgresqlの/binディレクトリの中に入れる (2)psqlのメニューから次のコマンドを打つ psql -d manmg -f postgres.out   (3)pgAdmin3を立ち上げるとサーバAのDBは追加されているようなのですが  テーブルは(0)となって見えません マシンBの方のPostgreSQLについてはインストールしたままでサーバA のpostgresqlの設定等は何もしていません 何か設定する所はあるのでしょうか 上記手順でlinuxから吐出されたバックアップデータをWindowマシンに リストアする方法は間違っていないのでしょうか よろしくお願いします。

  • PostgreSQLサーバのマシン交換

    サーバのマシン交換を行います。 現在のPostgreSQLのデータを新しいマシンに移すにはどうしたらよいでしょうか? データベースについては、初心者なので困っています。 よろしくお願いします。

  • ファイルアップロードによるPostgreSQLのデータ更新について

    OSはRedhat7.2、webサーバとしてはapache1.3.26を使用しています。 現在PHP4とPostgreSQLを使用してのwebアプリを構築中ですが、データベースへのレコード追加のことで質問があります。 テキストファイルをアップロードしデータベースに流し込むという処理をPHPから行いたいのです。 PostgreSQLに用意されているCOPYコマンドを使おうと思っていたのですがどうやらこれはPHPからは使えないらしいのです。このコマンドはPostgreSQLのスーパーユーザのみ実効可能とのことですが、DB接続時のユーザをスーパーユーザにしてもだめでした。 現在は、 echo \\\copy テーブル名 from '/tmp/$uploadfile_name' | /usr/local/pgsql/bin/psql データベース名 という文をシステム関数を使用して流すことにより処理していますが、これだとwebサーバとデータベースサーバが同じマシンじゃないとだめです。 データベースサーバとwebサーバを別のマシンにして同じような処理をするには、テキストファイルの中身を1行ずつ変数に格納して、1行ずつinsert文を発行していくしかないのでしょうか?また、この方法だと処理時間はかなりかかるのでしょうか?ちなみにテキストデータの中身は大体200行前後で一番多いときで1000行ほどです。フィールド数は70ほどです。どなたかよい方法があれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PostgreSQLで使えるツール

    PostgreSQLで使えるツール データセンターにPostgreSQLの入ったサーバを置いており、リモートでデータベースの管理や CSVでのデータの挿入や編集等を行いたいのですが、何かよいツールはないでしょうか。 CSEが使えるかと思って試したのですが、データセンターの設定で、ODBC接続ができません。 何卒、よろしくお願いします。

  • Fedora6でPostgreSQL8.1が起動しない

    Linux超初心者です。 Fedora Core 6 カーネル2.6 を使っています。 PostgreSQLをGNOMEのパッケージマネージャでインストールしました。 バージョンは8.1.xxだと思います。 問題ですが、postmasterが起動できません。 su - postgres postmaster -i -D /var/lib/pgsql/data を実行すると FATAL: data directory "/var/lib/pgsql/data" has group or world access DETAIL: Permissions should be u=rwx (0700). と怒られます。詳しい方、ご教授願います。 chmod 777 /var/lib/pgsql/data は試しましたがダメでした。

  • PostgreSQLサーバにODBCドライバを使って接続したい!

    お世話さまです。 現在、ホスティングサービスによりWebデータベースを立ち上げようとしています。 そのサーバーには、PostgreSQLがインストールされています。 私のPCにODBCドライバをインストールして、AccessからそのWebDBの情報を編集等を行いたいと考えています。 ホスティングサービスを提供している会社に、ODBC接続できますか?と尋ねたところサーバーには、ODBCドライバが入ってないから無理と言われました。 ODBCドライバはクライアント側だけでは、ダメなのでしょうか? サーバー側 OS Linux Apach,PostgreSQL クライアント OS Windows2000 PostgreSQL,Access 宜しくお願い致します。

  • PostgreSQL が使えるお勧めのサーバーは?

    PHP 環境 でPostgreSQL が使えるお勧めのサーバー業者を教えてください。 安定性が高いサーバー業者を探しています。 月5千円ぐらいまでの予算で探しています ランキングや参考になるURLでもいいので 会社で数十のEメールを運用する予定なので 送信エラーが出ないサーバー業者だとよりいいです データを使うとき年2万円のサーバーで 運用していたのですが、エラーが多かったので

    • 締切済み
    • PHP
  • PostgreSQLをインストールしたサーバーとは別のサーバー上で、phpPgAdminを動かせる?

    PostgreSQLがインストールされているDBサーバにはPHPがインストールされていません。 よって他のWebサーバへphpPgAdminをインストールして、 DBサーバへ接続し、データベースの編集を行おうと考えています。 このようなことはphpPgAdminで可能でしょうか? ご回答よろしくお願いします。

  • PostgreSQLが起動しない・・・

    はじめまして、tanu_2です。 玄箱HGをDebian化し、いろいろと遊んでいます。 PostgreSQLをapt-getでインストールし、Webアプリを動かしていたのですが、昨日より突然、PostgreSQLが動かなくなってしまいました。 原因が分からず、サーバを再起動し、 # /etc/init.d/postgresql start や $ pg_ctl start などを試してみたのですが、動きません。 念のため、初期化(initdb)も試みたのですが、これも失敗してしまいます。 /var/log/postgresql/postgres/logを覗いてみると、 FATAL: could not write lock file "/var/lib/postgres/data/postmaster.pid": No space となっており、上記ディレクトリにpostmaster.pid書き込みできないよ、と言われているっぽかったので、パーミッションを変更したりして みましたが、postgresql startにしろ、pg_ctl startにしろ、それぞれのコマンドで起動すると、強制的にパーミッションが「700」に変更されてしまうようで、結果は同じでした。 どなたか、解決策をご教示願えませんでしょうか? よろしくお願いします。m(_ _)m

  • PostgreSQLの入れ替え

    PostgreSQLのホントの初心者です。 今使っているLinuxサーバ(RedHat9)になぜかたま たまPostgreSQL(7.3.2)が入っていて、使っていた のですが、この際8.1.4に上げようと思いたちました。 これは、バージョンアップというより「入れ直し」と 考え、まず7.3.2を削除しようと考えて、 # rpm -e postgresql と入れてみたのですが、関連付けられているためか 削除できません。 それで、7.3.2にDBを全部削除してしまえばよいと 考え、5つのDB(template0,template1,test,test2, db1)を削除する方法を調べたのですが、「psql」で はDBは消せないようですし、どれかのDBに入って SQLを動かすと、「自分(のDB)」はけセません。 それと、最初からあった、template0,template1も 削除できませんでした。 DBを消すのが目的ではなく、7.3.2を削除したいので すが、どのようにやったらよいか教えて下さい。 よろしくお願いします。