▼スレッド
│
└◇2290:Re:postgreSQLのinitdbで失敗 [chad] 06/17 13:31
├◇2294:Re[2]:postgreSQLのinitdbで失敗 [discypu] 06/17
│└◇2297:Re[3]:postgreSQLのinitdbで失敗 [chad] 06/18
│ └◇2298:Re:postgreSQLのinitdbで失敗 [asd] 06/18
│ └◇2300:Re[2]:postgreSQLのinitdbで失敗 [chad] 06/18 <
└◇2296:Re[2]:postgreSQLのinitdbで失敗 [ちびた] 06/18
postgresql 7.4.2-1からはipc-daemon2の代わりにcygserverスレッド一覧
を使用するようになったようです。
参考にされたページと同じですが以下に導入手順があります。
#NTサービスとして登録したあとinitdbする箇所で失敗して
#しまうのでサービスとして登録しないやり方で利用してます。
#パーミッションで失敗するのですがなぜか不明です。
http://discypus.jp/pukiwiki/pukiwiki.php?Cygwin%2FPostgreSQL%2F%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7%28cygserver%C8%C7%29
設定のトラブルについては、お二方が示されたページのリンクスレッド一覧
http://discypus.jp/pukiwiki/pukiwiki.php?Cygwin%2FPostgreSQL
の「Cygwin/PostgreSQL/メモ」にも書いてあります。
とはいえ、お二方とも、肝心のinitdbが出すメッセージを書かれてないので、
上記のページの内容に当てはまるかどうかは判りませんが。
(てなわけで、発言の種類は「回答」ではなく「参考」にしました)
回答ありがとうございます。スレッド一覧
いろいろ試したところ私のpermission deniedが出て失敗する問題は/var/postgresql/ディレクトリの権限が不足して
いただけだったようです。
何回か権限を付与する操作をしていたつもりだったのですが
postgresユーザに権限が無い状態でした。
initdbは問題なくできるようになったのですが、postmaster
の起動に失敗してしまいます。
$ cygrunsrv -S postmaster
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
そのサービスを開始できませんでした。
上記のようなエラーが出るので、メモにある通り
$ cat /var/log/postmaster.log
と実行しましたが、何も出ていませんでした。
念のため
$ chmod o+rx /usr/bin/postgres.exe
を実行して権限を付与しましたがサービスは起動できない
ままです。
海外のサイトもWin32 error 1062で検索して探して
みましたが、解決には至っておりません。
何かお心当たりがございましたらご教授願います。
postmasterサービスを起動するときに、スレッド一覧
/var/log/postmaster.log が更新されていないのでしたら、
/var/log/postmaster.logのオーナとパーミッションが
不適切なのかもしれません。
以前にサービスではなく、コマンドラインから直接
起動したのであれば、その可能性が大きいです。
次のコマンドを実行して、その結果を示してください。
$ ls -l /var/log/postmaster.log
また、/var/log/postmaster.log をいったん、消去して、その
直後に postmaster サービスを起動するとどうなりますか?
回答ありがとうございます。スレッド一覧
postmaster.logを削除したらlogに結果が出るように
なり、最終的にサービスを起動できるようになりました。
以下がやった内容です。
$ ls -l /var/log/postmaster.log
-rw-r--r-- 1 postgres なし 243 Jun 16 15:50 /var/log/postmaster.log
postmaster.logを削除してみたところ
$ cat /var/log/postmaster.log
FATAL: "/var/postgresql/data" is not a valid data directory
DETAIL: File "/var/postgresql/data/PG_VERSION" is missing.
とlogが出たので/var/postgresql/data/PG_VERSIONを見たら
たしかにファイルがありませんでした。
他のディレクトリなどは存在していたのでなぜinitdbを
したときに作成されなかったかは不明です。
/var/postgresql/dataを削除してinitdbをやり直
したところ、サービスが起動するようになりました。
permissionについてのエラーはpostmaster.logに出ていた
のでログファイルに問題があるとは気づきませんでした。
ご助言により無事サービスを起動することができました。
ありがとうございました。
ipc-daemon2のかわりにcygserverを利用することでinitdbできました。ありがとうございます。スレッド一覧
実際にこれから利用してみます。