• ベストアンサー

Cygwin上のPostgreSQLで pg_ctl start するとエラーになります。

こんにちは。マルチポストですが、お許しください。超急ぎです。 Cygwinで動いているpostgresqlで、書籍の指示どうり、「pg_ctl start」とするとエラーになります。以下がCygwinコンソール上のないようです。 Administrator@windows2000 ~ $ pg_ctl start pg_ctl: Another postmaster may be running. Trying to start postmaster anyway. FATAL: File /usr/local/pgsql/data/PG_VERSION is missing. This is not a valid da ta directory. pg_ctl: cannot start postmaster Examine the log output. 誰か分かる人がいたら教えてください。よろしくおねがいします。

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

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

>pg_ctl: Another postmaster may be running. すでに、postgresが起動している状態で、pg_ctl start を実行するとこのエラーが表示されます。 postgresの二重起動はできません。 psコマンドで確認してください。 >FATAL: File /usr/local/pgsql/data/PG_VERSION is missing. ファイルがない、と致命的エラー(FATAL)が出ています。 環境変数PGDATAを設定していないか、本当にファイルがないか (インストールに失敗している)などが考えられます。

kamkamkam3
質問者

お礼

どうもありがとうございます。なんせ、CygwinもPostgreSQLもまったく初めてでわからないことばかりで。。 >postgresの二重起動はできません。psコマンドで確認し>てください。 以下、psコマンドを実行したコンソールです postgresの二重起動はできません。 psコマンドで確認してください。 Administrator@windows2000 ~ $ ps PID PPID PGID WINPID TTY UID STIME COMMAND 1388 1 1388 1564 con 500 11:01:58 /usr/local/bin/ipc-daemo n 1416 1 1416 1416 con 500 11:44:41 /usr/bin/bash 372 1416 372 1484 con 500 14:33:55 /usr/bin/ps 環境変数は以下のとおりに設定してあります。本に書いてあった通りです。 Administrator@windows2000 ~ $ echo $PGDATA /usr/local/pgsql/data インストールの際も本に書いてあった通りにやったんですが、(環境もまったく同じです。)出力されるコンソール画面がちがっていたりしたので、ひょっとするとインストール失敗したのかもしれません。 もうちょっと色々調べてみたいと思います。 詳しく説明してくださってどうもありがとうございました。

その他の回答 (1)

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

initdbしてないとか。 >/usr/local/pgsql/data/PG_VERSION is missing 実際このファイルはありますか? $ ls -la /usr/local/pgsql/data/

kamkamkam3
質問者

お礼

どうもありがとうございます。 >実際このファイルはありますか? >$ ls -la /usr/local/pgsql/data/ コマンドを打ってみたところ以下のようにコンソールに表示されました。 Administrator@windows2000 ~ $ ls -la /usr/local/pgsql/data/ total 1 drwx------+ 5 Administ なし 4096 May 4 11:41 . drwx------+ 3 Administ なし 0 Apr 16 23:12 .. drwx------+ 3 Administ なし 0 Apr 16 23:12 base drwx------+ 2 Administ なし 0 Apr 16 23:12 global drwx------+ 2 Administ なし 0 Apr 16 23:12 pg_xlog -rwx------ 1 Administ なし 30 May 4 11:41 postmaster.pid >initdbしてないとか。 initdb コマンドを打ったところ以下のように表示されました。 Administrator@windows2000 ~ $ initdb -E EUC_JP The files belonging to this database system will be owned by user "Administrato ". This user must also own the server process. The database cluster will be initialized with locale C. initdb: The directory /usr/local/pgsql/data exists but is not empty. If you want to create a new database system, either remove or empty the directory /usr/local/pgsql/data or run initdb with an argument other than /usr/local/pgsql/data. 確かに一番最初に書籍の指示通りinitdb コマンドを打ったところ、書籍にかいてあったようなコンソール画面にはなりませんでした。 もし、原因がわかるようでしたら、またご返事ください。どうもありがとうございました。

kamkamkam3
質問者

補足

#1さん、#2さんどうもありがとうございました。 一度Cygwinを全部uninstallして、フォルダも全部消去して、書籍の通りやりなおしたら、できました。 再起動をなんども繰り返しながら、丁寧に1つずつ作業をこなしたら、問題なく動作するようになりました。 なにが、悪いのかは分かりませんが。。 本当にどうもありがとうございました。色々な本やサイトを見て勉強になりました。 また、よろしくお願いします。

関連するQ&A