7

我一直在尝试在我的机器(Windows 7 64bit)上安装 PostgreSQL 9.2 for Windows 的 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. 检查,如果您收到以下错误:

Script 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

我遇到了同样的问题,我在日志中发现:

Script stderr: 'C:\Users\S300' 不是内部或外部命令、可运行程序或批处理文件。

运行 C:\Users\S300 (i5)\AppData\Local\Temp/postgresql_installer_56caeadbd6/temp_check_comspec.bat 时出错:'C:\Users\S300' 未被识别为内部或外部命令、可运行程序或批处理文件。

我将用户变量 TEMP 更改为 D:\TEMP,将 TMP 更改为 D:\TEMP。并解决了我的问题。

于 2013-06-07T02:58:26.667 回答
1

这不是COMPSPEC它只是COMSPEC。请显示以下输出:

echo %COMSPEC%

请注意,COMSPEC可以在您运行安装程序的管理员帐户中将其设置为不同的值。我不确定如何找到它,但它可能会出现在 PostgreSQL 安装程序日志中,所以请上传它并在你的帖子中链接到它。有关从何处获取安装程序日志的信息,请参阅报告安装错误。

请参阅 PostgreSQL for Windows 常见问题条目检查COMSPEC环境变量

这是我提出的一份报告,建议安装程序应明确对此进行测试,这是我关于该主题的博客文章

于 2013-03-08T05:51:21.127 回答
0

我有一个类似的问题。安装后,data 文件夹中没有 postgres.conf 文件。它只包含一个名为“pg_log”的文件夹。我描述了我在这里使用的解决方案:Postgres Installation Error reading file postgresql.conf

基本上,检查用户是否对 postgres 文件夹具有完全权限并再次运行“init_db”和“pg_ctl start”命令会很有帮助。如果路径包含空格字符,请尝试使用 pg_ctl 数据文件夹参数的相对路径。

于 2013-06-22T10:21:18.557 回答
0

就我而言,安装程序位于 %USERPROFILE%\DownloadsP{ Windows 下载文件夹},我将安装程序移至桌面并再次运行。很奇怪,它起作用了,哈哈。

于 2017-09-28T12:10:48.117 回答
0

打开环境变量,您可以在 Windows 7 上通过environment variables按下桌面左下角的开始按钮时在搜索程序和文件栏中键入来执行此操作。并创建一个新的系统变量(在“系统变量”而不是“用户变量”部分)。

在变量名中输入ComSpec,然后在变量值中输入C:\Windows\system32\cmd.exe

就这样。希望它有效!替代修复:

如果您已经ComSpec在“系统变量”部分中获得了变量,请删除;它末尾的 ,这应该可以修复它。

于 2020-10-22T11:15:19.057 回答
0

如果安装程序 exe 位于网络共享上,则安装程序实际上可能无法访问映射的驱动器,因为它以管理员身份运行。这经常发生在某些虚拟机安排中,例如在并行 VM 中运行窗口。首先将安装程序复制到本地驱动器,您不会遇到问题。

于 2019-06-01T15:49:30.983 回答
0

我正在运行 Windows Server 2003 R2,我无法通过安装程序解决这个问题,所以我求助于使用二进制 PostgreSQL 包。希望这对于不想重新安装操作系统的其他人来说是一种替代方法。

首先,一些背景(希望对开发者有用)

它始于 postgres 服务无法启动(服务器已经可靠运行了一年多)。我认为这是一个损坏的 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

只需以管理员身份运行并更改环境系统变量,例如创建新变量“ComSpec”和值类型“C:\Windows\system32\cmd.exe”。

于 2017-09-25T00:21:53.563 回答
0

尝试在cmd.exe中输入给她的命令行后对我有用的东西我发现它在system32中被命名为cmd1.exe ..所以我复制了文件并将其重命名为cmd.exe并安装完成

于 2020-02-18T15:02:00.463 回答