PostgreSQL 9.2のインストール時の問題点

私のマシン(Windows 7 64bit)に64bit版のPostgreSQL 9.2 for Windowsをインストールしようとしたところ、このエラーが発生しました。

環境変数COMPSPECがcmd.exeを指していないか、末尾にセミコロンが存在するようです。

管理者としてインストールしました。

アンチウイルス(Microsoft Security Essentials)とファイアウォールを無効にしました。

実行中です。

"%COMSPEC%" /C "echo test ok"

test ok を返しました。

システム環境変数の末尾にセミコロンがあるかどうか確認しましたが、見つかりませんでした。

その後、32bit版をインストールし、なんとかインストール終了までたどり着いたのですが、別のエラーメッセージが表示されました。インストール後のステップの実行に問題があります。Error reading the C:\Program Files (x86)\PostgreSQL9.2datapostgresql.confbut there's nopostgresql.conf` file in that directory.アプリケーションはインストールされたのですが、赤い×印のついたサーバーに接続しようとすると、一番下にfailと表示され、パスワードを入力しても接続されません。

どうすればこのサーバーに接続できるのでしょうか?

COMPSPECではなく、ただのCOMSPEC` です。の出力を見せてください。

echo %COMSPEC%

インストーラを実行している管理者アカウントでは、COMSPECが別のものに設定されている可能性があることに注意してください。それを調べる方法はわかりませんが、PostgreSQLのインストーラのログに表示されるかもしれませんので、それをアップロードして投稿にリンクしてください。インストーラのログを取得する場所については、Reporting an installation errorを参照してください。

PostgreSQL for Windows FAQ のエントリ 環境変数 COMSPEC を確認する を参照してください。

インストーラがこれを明示的にテストすることを示唆する Here's a report I madehere's my blog post on the topic を参照してください。

解説 (10)

私も同じ問題が発生し、ログを見つけました。

Script stderr: 'C:\UsersS300' is not recognized as an internal or external command, 内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

Error running C:\UsersS300 (i5)♪AppData ♪Local ♪Temp/postgresql_installer_56caeadbd6/temp_check_comspec.bat : 'C:\UsersS300'is not recognized as an internal or external command, operable program or batch file, 内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

ユーザー変数でTEMPをD:㈳TEMPに、TMPをD:㈳TEMPに変更しました。 をD:⇄TEMPに変更したら解決しました。

解説 (0)

私も似たような問題がありました。インストール後、データフォルダにはpostgres.confファイルがありませんでした。pg_log"という名前のフォルダが1つだけ含まれていました。 私が使用した解決策は、https://stackoverflow.com/questions/16730405/postgress-instalation-error-reading-file-postgresql-conf/17249527#17249527 に記載されています。

基本的には、ユーザがpostgresフォルダのフルパーミッションを持っているかどうかを確認し、"init_db" と "pg_ctl start" コマンドを再度実行するとよいでしょう。パスにスペース文字が含まれている場合、pg_ctlのデータフォルダ引数で相対パスを使用してみてください。

解説 (0)