• ベストアンサー

開けなくなったデーターベースから、せめてデータだけでも救いたいのですが方法はあるのでしょうか?

OSはWindows Server 2003 for Small Business Serverで、 PosstgreSQL 8.2です。 ブラウザーで動くシステムですが、完成していてずっと動いていたものが、ある日突然起動してパスワードが通るとすぐにエラーメッセージが出て何もできなくなりました。完成してから問題が起きるまで、システムを利用し、データーベース入力をする人はいても、プログラムに手を加えることはありませんでした。なのに、突然エラーが起るようになったらしいのです。 エラーメッセージを下に表示しますが、このようなメッセージの経験のあるかたがいらっしゃったら、どういうことを言っているのか教えていただけませんか? 壊れてしまったのか、手を加えられた(人為的に)可能性があるのか? 直せる可能性はあるのか?せめてデーターだけでも救えないのか? そんなことが少しでもわかることができれば本当に助かります。 エクセルにデーターを取り込もうとしましたが、そもそもODBCに接続ができないようで一たん断念しました。 よろしくお願いします。 エラーメッセージは: Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" and accepting TCP/IP connections on port xxxx in 以上です。よろしくお願いします。

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

  • ベストアンサー
  • tommy1977
  • ベストアンサー率43% (178/410)
回答No.2

そもそも、Pgsql、動いていますか?止まっていても同じメッセージが 出る場合があります。 プロセスが動いているか確認してみて下さい。 プロセスが動いている場合、 ホスト側で、 psql -h localhost -p 5432 を実行して見て下さい。 同じメッセージになりますか? 同じならば、以下のような対処も可能です。 http://www.ne.jp/asahi/nature/jp/moteviewtroubleshoting.htm

soltedcoco
質問者

お礼

tommy1977さん、 早速のお返事ありがとうございます。 私は全然知識がないので理解に苦労をしていますが、 とりあえず教えてくださったところまでがんばってやってみます。 またよろしくお願いします。

soltedcoco
質問者

補足

tommy1977さん、 上のサイトで順にやってみました。 postmaster.exeがないことがわかりましたが、続きのステップである ユーザーアカウントを設定しなおし、 サービスからDatabase Serverを起動することができました。 でもプロセスで確認すると、これでpg_ctl.exeは動いたのですが、 やっぱりpostmaster.exeは動いていません。 (はなからないのだからあたりまえ?) postmaster.exeは必要なのでしょうか? その段階で、Web側から問題のプログラムを走らせると、 当初のConnection refuser 0x0000274D/10061はなくなり、 いったん始まったように見せながら(背景色とかはちゃんと出るところまで行くのですが)中身は全部エラーメッセージでした。 で、欲を出して、サービスのログオンのユーザー名を変更して、でも元にもどしたら、次にPCを起動したときには、 スタートアップで問題が起きたというメッセージが出るようになり、 タスクマネージャで見ると、どうやらpostgres.exeの起動に失敗(ログオン失敗)したようで、Postgres関係のプロセスが何も始まらなくなくなってしまいました。 tommy1977さんがおっしゃっていた プロセスが動いていないという状態になったのだと思います。 もちろんエラーメッセージはもとどおり Connection refuser 0x0000274D/10061 に、なってしまいました。 ユーザーアカウントの設定と、サービスのログインのところは、 何度も確認しているのですが、 もう、どうしていいのかわかりません!! お知恵を拝借できますでしょうか?よろしくお願いします。

その他の回答 (3)

  • tommy1977
  • ベストアンサー率43% (178/410)
回答No.4

えっと・・・ない、というのは c:\ProgramFiles\PostgreSQL? 配下にもなかった、って事でしょうか。 タスクマネージャーで見て、 postmaster.exe と postgres.exe と pg_ctl.exe この3つ動いていませんか? 私は質問者様が使用しているアプリがどんなものか存じません。 表面上DBから引っ張ってこれる状態で動作的にOKならば、 それでOKなのでしょう。 >ポスグレ何とか起動できました。 ってことは、前の段落から考えて”サービス”としてきちんと起動している、ってことですよね。 では、#1さんのおっしゃるとおり、pgADMINIIIを使って、 ”中身のデータベース”がきちんと動作しているかどうかを 確認して下さい。 それで動作しているとしてOKであれば、何も手間と危険を冒してまで 再インストールする必要はないでしょう。 他に何かまたエラーが出た、等あったら、また新規で別に質問されることをお勧め致します。

soltedcoco
質問者

お礼

tommy1977さん。早速のご回答ありがとうございました。 何度もお聞き返したのに、そのたびに冷静なご回答をいただきまして、感謝しております。 この件につきましては、pgADMINIIIに立ち返り、確認してみます。 ありがとうございました。

  • tommy1977
  • ベストアンサー率43% (178/410)
回答No.3

確認が遅くなってしまいました。 すみません・・・。 >でもプロセスで確認すると、これでpg_ctl.exeは動いたのですが、 >やっぱりpostmaster.exeは動いていません。 >(はなからないのだからあたりまえ?) >postmaster.exeは必要なのでしょうか? →そもそもの前提が間違っています。 pg_ctl.exeはあくまで”管理用”のプロセスで、 Postmaster.exeはPgsql本体(に近い)と思っていただければOKです。 つまり、Postmaster.exeが”ない”ということはもっと他の原因が 考えられます。 コマンドプロンプトで、フルパス指定をしてPostmaster.exeを実行しても”そんなファイルはない”と言われたのでしょうか。 そうであれば、これはDB部分を待避させての再インストールが早いと思われます。(もっとメンドクサイですが) もし、この”ない”が”動いていない”と同義で有れば、 パスワードの再設定で動いていたかもしれない。 >で、欲を出して、サービスのログオンのユーザー名を変更して、でも元にもどしたら、次にPCを起動したときには、 >スタートアップで問題が起きたというメッセージが出るようになり、 >タスクマネージャで見ると、どうやらpostgres.exeの起動に失敗(ロ >グオン失敗)したようで、Postgres関係のプロセスが何も始まらなく >なくなってしまいました。 pgsqlの動作を考えると、これは・・・結構厳しい対処方法ですね。 (変更して元に戻した、とおっしゃっていますが、pgsqlに限らず、 windowsのサービスのアカウント変更時にはサービスを停止させてから 変更させ、config系のファイルをきちんと書き換えるなどの対処を 行ってから実施するのが普通です。) アカウントは確かpostgresql.confには載ってなかったとは思いますが、再度、アカウント変更は”手入力”ではなく、参照を使用して 実施して下さい。 もう一点、パスワードは”あっていますか?” 使用されているserverのアカウント等確認を実施して下さい。 これくらいですかね・・・

soltedcoco
質問者

お礼

tommy1977さん、ご丁寧な回答ありがとうございました。 ポスグレ何とか起動できました。pg_ctl.exeも動いています。 その上で、「postmaster.exeがない」についてですが、 検索で全てのドライブで"postmaster"を検索したのですが、出てきたのは、postmaster.opsとpostmaster.pid それからpostmasterというフォルダだけでした。 フォルダにはpasswd.pmが入っているだけです。 これは、つまりtommy1977さんがおっしゃるように、再インストールということなのでしょうか? もう一度、お知恵拝借お願いいたします。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

pgAdminIIIでもダメ?

soltedcoco
質問者

お礼

nda23さん、 早速のお返事ありがとうございました。 何もかもは質問しないように努力したいとは思うのですが、 私はポスグレは壊れてはじめてさわろうとしている超初心者です。 (ってまだ本体にも到達できてませんが) 何年も前にはプログラマだったので全く会話できないわけでは ないのですが、時代がちょっと・・・ で、本当に申し訳ないのですが、 pgAdminIII  っていったいなんですか?ごめんなさい。

soltedcoco
質問者

補足

nda23さん、pgAdminIII見ました。 Postgresが全く起動しなくなってしまったんです。 (ログイン失敗とかで) そうなってしまっては、pgAdminIIIも何もできないようで、 今ちょっと絶望してます。 もう少し改善された状態まで進んだら、是非次はpgAdminIIIでやってみたいと思います。 ありがとうございました。

関連するQ&A