どちらも C:\PostgreSQL
およびC:\PostgreSQL\data
フルアクセスと管理者権限を持つpostgres
ユーザーがいます。
管理者としてpostgresユーザーからpostgresql-9.1.2-1-windows.exeを実行しました。目標 C:\PostgreSQL
私が試すすべての方法で、「データベースクラスターの初期化に失敗しました」と表示されます。
ご質問
PostGISをGeoDjangoで動作するように設定しようとしています。
PostGISを手動でインストールできました。 PostgreSQLの新機能であり、私はこれらすべてに対して自信を失っています。 MySQLからPostgreSQLに初めて登場。
C:\ Users\Larry\AppData\Local\Temp\install-postgresql.logからの関連ログ出力:
WScript.Network initialized...
Called IsVistaOrNewer()...
'winmgmts' object initialized...
Version:6.1
MajorVersion:6
Ensuring we can read the path C: (using icacls) to Larry:
Executing batch file 'radA3CF7.bat'...
Output file does not exists...
Called IsVistaOrNewer()...
'winmgmts' object initialized...
Version:6.1
MajorVersion:6
Ensuring we can read the path C:\PostgreSQL (using icacls) to Larry:
Executing batch file 'radA3CF7.bat'...
Output file does not exists...
Called IsVistaOrNewer()...
'winmgmts' object initialized...
Version:6.1
MajorVersion:6
Ensuring we can read the path C:\PostgreSQL\data (using icacls) to Larry:
Executing batch file 'radA3CF7.bat'...
Output file does not exists...
Called IsVistaOrNewer()...
'winmgmts' object initialized...
Version:6.1
MajorVersion:6
Ensuring we can write to the data directory (using icacls) to Larry:
Executing batch file 'radA3CF7.bat'...
Output file does not exists...
Failed to ensure the data directory is accessible (C:\PostgreSQL\data)
Executing batch file 'radA3CF7.bat'...
Output file does not exists...
Called Die(Failed to initialise the database cluster with initdb)...
Failed to initialise the database cluster with initdb
提案?
Windows 7に9.1.4をインストールするときに同じ問題が発生しました。オンラインで 解決策を見つけました 。
私が従った手順は次のとおりです。
Postgresユーザーがまだ存在する場合は削除します。
Net User postgres /delete
覚えやすいパスワードでpostgresユーザーを作成する
Net User /add postgres <password>
PostgresユーザーをAdministratorsグループに追加する
net localgroup administrators postgres /add
PostgresユーザーをPower Usersグループに追加します
net localgroup "power users" postgres /add
Postgresユーザーとしてコマンドウィンドウを実行する
runas /user:postgres cmd.exe
コマンドウィンドウ内からインストールファイルを実行します。
C:\Download\postgresql-9.1.4-1-windows.exe
これにより、インストールが正常に実行されます。
管理者グループからpostgresユーザーを削除します。
net localgroup administrators postgres /delete
私の場合(Windowsの%temp%フォルダーにあるpostgresql.logファイルからわかるように)、c:\ windows\system32フォルダーへのパスがウィンドウの環境変数パス。
それで、コマンドプロンプトを開き、set PATH=%PATH%;c:\windows\system32
とコマンドプロンプト自体からインストーラーを実行しました。動いた! :)
上記のどれも私にとってはうまくいきませんでした。私はpostgresを使いませんでした。
だから私はすべてを削除/アンインストールしました。管理者としてcmdを実行しました。
次に、コマンドラインから(adminとして)インストーラーを実行し、データディレクトリの完全に新しい場所を選択しました。
私は今、jiggery pokeryの半日の後に、postgresを正常に再インストールしました。
9.2.4をインストールしようとすると、同じエラーメッセージが表示されました。 Win2k8サーバーがパスの一部として%SYSTEMROOT%\ system32を持っていたとしても、プログラムがC:\ Windows\system32にあるものを「見る」ことができなかったため、私の問題でした。インストーラーは、初期化ルーチン中にicacls.exeを頻繁に使用します。私の道がめちゃくちゃになったので、インストーラーは爆撃しました。
C:\ Windows\system32をSYSTEMのPath環境変数に明示的に追加し、管理者としてインストーラーを再実行すると、すべてが正常に機能しました。
この問題は、フォルダへの書き込み権限に関係しています。たとえば、フォルダ/データをPostgreSQL\9.2に作成し、ユーザーに完全な権限を付与します。再インストールしてください。