Windows版PostgreSQL V11をインストールでエラー発生
新しPCを導入したのでひさしぶりにPostgreSQL V11 Windows版をインストールしたところ
"Problem running post-install step, Installation may not complete correctly The database cluster initialisation failed."
なんてエラーが発生しました。
一応インストーラは最後まで動作して完了しますが、WindowsのサービスにPostgreSQLが登録されない、起動できていないのでもちろん各種操作はエラーになるという状況です。
最初はウイルス対策ソフトの挙動を疑っていたのですが、そうではありませんでした。
ググるとinitdbするためのdataフォルダのパーミッションの可能性がと出てくるものの、フルアクセスにしても現象は変わりませんでした。(最終的にその通りだったのですが、手順が必要でした)
最終的にこれで解決
- エラーは発生しても一旦インストールを行う。
- エラー発生してもインストールは完了します。PostgreSQLのサービス登録がされない、dataフォルダが空のままです。
- ここでアンインストールして、いろいろいじりながら再インストールしていたのですが何度やっても同じエラーが発生しました。
-
dataフォルダのパーミッションをフルコントロールに設定します。
- 変更の許可だけで良いという記載もありましたが、とりあえずフルコントロールで
- 確認のため以下を実施し、initdbできるか確認
- C:\PostgreSQL\11\bin\initdb -D "C:\PostgreSQL\11\data" -U postgres
-
もう一回インストーラーを走らせる
- もう一回インストールを走らせると追加コンポーネントのインストール or 上書きのような形でインストーラーが実行されます。(ちょっとよくわからない)
- インストール成功します。
まとめ
本当はもう一回再インストールして正確な手順を検証したいところですが、パワー不足で今回はこのメモ程度に留めようと思います。
ただパーミッションを整えたdataフォルダを事前に用意しておけばすんなりインストールは完了できそうですね。
もしエラーが発生したら手動でinitdbコマンドを実行して、パーミッションの確認を取れば間違いないと思います。
※initdbしたdataフォルダをインストーラーで指定しても問題なくインストールすることができました。
initdb -D "C:\PostgreSQL\11\data"