▼スレッド
│
└◇2294:Re[2]:postgreSQLのinitdbで失敗 [discypus] 06/17 23:31
└◇2297:Re[3]:postgreSQLのinitdbで失敗 [chad] 06/18
└◇2298:Re:postgreSQLのinitdbで失敗 [asd] 06/18
└◇2300:Re[2]:postgreSQLのinitdbで失敗 [chad] 06/18 <
設定のトラブルについては、お二方が示されたページのリンクスレッド一覧
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に出ていた
のでログファイルに問題があるとは気づきませんでした。
ご助言により無事サービスを起動することができました。
ありがとうございました。