トラブルシューティング Moteview : ERROR[08001] or psql : Connection refused (0x0000274D/10061)

インストールは正常に終了したはずなのに、(もしくは、Mote Viewはしばらく正常に動作していたのに、気づいたら・・、)動かなくなっていた。そもそも、PostgreSQLが起動しなくなった・・・という時の対応。

Moteview エラーコード ERROR[08001];
psql エラーコード psql: could not connect to server: Connection refused (0x0000274D/10061)

Mote-Viewを起動してもDBにつながらない。エラーを見ると"Could not connect to the server;"となっている。
タスクマネージャでプロセスを見てみると postmaster.exe と pg_ctl.exe がいないみたいだ。

コマンドプロンプトからDBにつないでみる。
Pathが通ってないなら、C:\Program Files\PostgreSQL\8.0.0-rc1\binまで移動して、psql.exeを実行。serverに接続できないといわれます。

PostgreSQL リファレンスマニュアルによると、
「postmaster
は、PostgreSQLのマルチユーザデータベースサーバです。クライアントアプリケーションがデータベースに接続するためには、稼働しているpostmasterに(ネットワークを介して、またはローカルで)接続する必要があります。その後、 postmasterは接続を操作するために別のサーバプロセス("postgres")を開始します。また、 postmasterは、サーバプロセス間の管理も行います。」
ってことなので、デーモン(サービス)があがってないことになる。

マイコンピューターを右クリック→管理→サービスとアプリケーション→サービスを見てみると、PostgreSQL Database Server 8.0.0-rc1が開始されてないことが分る。「自動」になっているので、起動時に自動的に開始されるはずだが、何故だか起動に失敗している模様。

「開始」を押して手動で起動してみるが、このままだと起動に失敗する。
PostgreSQL Database Server 8.0.0-rc1をダブルクリックして詳細を見てみる。
"C:\Program Files\PostgreSQL\8.0.0-rc1\bin\pg_ctl.exe" runservice -N "pgsql-8.0.0-rc1" -D "C:\Program Files\PostgreSQL\8.0.0-rc1\data\"
が実行されていることが分る。
ちなみに、この”-D "C:\Program Files\PostgreSQL\8.0.0-rc1\data\”は、postgresql.confがあるDirをさしている。

このサービスを起動するアカウントは、”.\postgres”になっていることがわかる。この問題は、ユーザのアカウントにトラブルがある。Mote-Viewのインストール時に同時にPostgreSQLがインストールされるが、その際に、新規にユーザアカウントが生成される。いつのまにかこのアカウントにログオンできなくなり起動に失敗しているようだ。
Windowsのログオン画面からも”今まで使っていたパスワード”でもログオンできなくなくなっているはずである。
*パスワードの変更をしたつもりはないのだが、そう、いつの間にかパスワードが変わっているとしか考えられない・・・・。謎

では、手動でpostmaster.exeを立ち上げればよいと考えるのがふつうだが、結果は・・・・。こうなる場合が多い。
一般的に、日常使っているアカウントは"Administrators"の属性を持たせている人が多いだろう。あんまり細かいことを考えない一般ユーザーはそうしているでしょう。
実は、自動で作られる”postgres”というアカウントは特権(Administrators)ではない。理由はセキュリティの問題。
手っ取り早い解決方法は、このトラブルが発生したら、自分でパスワードを設定しなおすのがいいだろう。今回はそうした。

ユーザアカウントでpostgresのパスワードを変えてしまいます。

ユーザアカウントで新規に設定したパスワードを、サービスの起動設定の箇所に設定しなおす。

サービスを起動しなおしてみる。開始を押す。

無事開始されたようだ。

プロセスで確認してみる。動いている。

実際にPostgreSQLに接続してみる。今回は正常に接続できたようだ。ちなみにpsql の引数には -U tele と、 -lを渡す。Moteviewのインストール時に3つのdatabaseが作られているようだ。サンプルデータが入っているのはtask。
Mote view のサンプルデータを psql で操作する方法はこちら。

Motevewも正常に起動した。

センサーネット・ゆびきたす大学 へ 技術情報編(Mote、Tinyosの使い方)へ


<広告>


<広告欄>