PostGISのデータディレクトリを変更する
PostGISのインストール途中で「Failed to load SQL modules into the database cluster.」や「Spatial database creation failed.」とエラーが出る場合があり、データディレクトリを変更する必要がありましたので、変更手順を紹介します。
PostgreSQLのサービスを削除する
先に設定していたデータディレクトリを削除してから、PostgreSQLのインストーラーが設定したサービスを削除します。コントロールパネルから「システムとセキュリティ」→「管理ツール」→「サービス」と移動して「Postgresql-x64-10」が確認できます。
cmdを管理者権限で起動します。PowerShellではダメでした。
コマンドプロンプトで次のコマンドを実行します。
sc delete postgresql-x64-10
データディレクトリを作成する
データディレクトリを手動で作成します。ここはPowerShellでも構いません。initdbコマンドを使うのでPath設定はしておいてください。次のコマンドを実行します。
initdb -D C:\users\〇〇\PostgreSQL -W -U postgres -A password --no-locale -E UTF8
〇〇の部分は自身のユーザー名を入れてください。データベースのパスワードの入力を求められるのでパスワードを2回入力すると、データディレクトリが作成されます。
PostgreSQLのサービスを登録する
サービスを登録します。cmdを管理者権限で作成して、次のコマンドを実行します。
sc create postgresql-x64-10 binPath= "\"C:\Program Files\PostgreSQL\10\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-10\" -D \"C:\Users\〇〇\PostgreSQL\"" start=auto password=************