7

Windows 用の 64 ビット バージョンの PostgreSQL 9.2 を自分のマシン (Windows 7 64 ビット) にインストールしようとしましたが、次のエラーが発生しました。

The environment variable COMPSPEC does not seem to point to the cmd.exe or there is a trailing semi colon present.

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

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

ランニング:

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

戻ってきたtest ok

システム環境変数で末尾のセミコロンを確認しましたが、何も見つかりませんでした。

次に、32 ビット バージョンをインストールし、次のような別のエラー メッセージが表示されてインストールを終了することができましたが、そのディレクトリにはファイルProblem running post-install step. Installation may not complete correctly Error reading the C:\Program Files (x86)\PostgreSQL\9.2\data\postgresql.confがありません。postgresql.confアプリケーションはインストールされましたが、赤い X が付いたサーバーに接続しようとすると、一番下に失敗と表示され、パスワードを入力しても接続されません。

このサーバー接続に接続するにはどうすればよいですか?

4

11 に答える 11

14

ComSpec は、インストールの失敗に対する一般的なエラー メッセージです。

問題の特定

  1. 以下のパス c:\Users\XXXXXX\AppData\Local\Temp に移動します。
  2. 「bitrock_installer_XXXX.log」を開く
  3. 以下のエラーが発生しているかどうかを確認してください。

スクリプト stderr: '"C:\Users\XXXXX\AppData\Local\Temp\POSTGR~1\TEMP_C~1.BAT"' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。

実行中のエラー

C:\Users\XXXXX\AppData\Local\Temp/postgresql_installer_47b21c4ea1/temp_check_comspec.bat :
'"C:\Users\XXXXX\AppData\Local\Temp\POSTGR~1\TEMP_C~1.BAT"' は、内部または外部コマンド、

操作可能なプログラムまたはバッチ ファイル。

これは、「8.3 のファイル名とディレクトリ」の問題です (例: 「\Postgres インストール」 -> 「\POSTGR~1」)。8.3 のファイル名とディレクトリの無効化に関する Microsoft の記事: https://support.microsoft.com/en- GB/KB/121007

解決:

  1. コマンドプロンプトを管理者モードで開く
  2. 次のコマンドを実行して、ドライブまたはすべてのドライブに基づいてフォーマットを変更します

    サンプル コマンド:

    fsutil 8dot3name set 1"      - disable 8dot3 name creation on all volumes
    fsutil 8dot3name set C: 1"   - disable 8dot3 name creation on c:
    
  3. 管理者権限を持つユーザーでインストールを実行します

  4. インストール後、意図しない結果を避けるために、8dot3name 設定をデフォルト (2) にリセットすることを検討してください。

問題が解決することを願っています!

于 2016-12-14T15:43:17.527 に答える
3

非常に簡単な修正:

  1. コントロール パネルの [システムの詳細設定] を開き、新しいシステム変数を作成します (セクションのSystem Variable代わりにUser Variable)。

  2. 変数名に を入力ComSpecしてから、変数値に を入力しC:\Windows\system32\cmd.exeます。

別の修正:

ComSpecシステム変数セクションに既に変数がある場合は;、末尾の を削除すると修正されます。

于 2016-06-08T13:44:22.093 に答える
1

それはCOMPSPECただではありませんCOMSPEC。次の出力を表示してください:

echo %COMSPEC%

COMSPECインストーラーを実行している管理者アカウントで、別の設定に設定できることに注意してください。方法はわかりませんが、PostgreSQLインストーラーログに表示される場合がありますので、アップロードして投稿にリンクしてください。インストーラーログの取得先については、インストールエラーの報告を参照してください。

PostgreSQLforWindowsのFAQエントリを参照してください。環境変数を確認してくださいCOMSPEC

これは、インストーラーがこれを明示的にテストする必要があることを示唆する私が作成したレポートです。これは、このトピックに関する私のブログ投稿です。

于 2013-03-08T05:51:21.127 に答える
0

Windows Server 2003 R2 を実行していますが、インストーラーでこの問題を解決できなかったため、バイナリ PostgreSQL パッケージを使用することにしました。これが、OS の再インストールを実行したくない他のユーザーにとっての代替手段になることを願っています。

まず、いくつかの背景(開発者に役立つことを願っています)

それは、postgres サービスの開始に失敗したことから始まりました (サーバーは 1 年以上確実に実行されていました)。破損した PostgreSQL インストールであると想定したため、アンインストールして再インストールを試みました。次のエラーが発生しました。

There has been an error.
The environment variable COMSPEC does not seem to point to the cmd.exe or there is a trailing semicolon present.
Please fix this variable and restart installation.

ただし、COMSPEC 変数は適切に設定されており、以下で検証されています。

echo %COMSPEC%
C:\WINDOWS\system32\cmd.exe

と:

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

これは Windows Server 2003 であるため、管理者アカウントの周りに UCA ラッパーがないため、問題は発生していません。

手動インストール

NET USER postgres /ADD

C:\pgsql\bin\initdb.exe -U postgres -A password -E utf8 -W -D C:\pgsql\data

runas /user:postgres "C:\pgsql\bin\pg_ctl -D C:/pgsql/data -l C:/pgsql/logfile.txt start"
于 2015-09-03T00:06:06.420 に答える
0

同様の問題がありました。インストール後、data フォルダーには postgres.conf ファイルが含まれていませんでした。「pg_log」という名前の単一のフォルダーのみが含まれていました。ここで使用した解決策を説明しました:ファイル postgresql.conf の読み取り中の Postgres インストール エラー

基本的に、ユーザーが postgres フォルダーに対する完全なアクセス許可を持っているかどうかを確認し、「init_db」および「pg_ctl start」コマンドを再度実行すると便利です。パスに空白文字が含まれている場合は、pg_ctl データ フォルダー引数に相対パスを使用してみてください。

于 2013-06-22T10:21:18.557 に答える