Не удается установить postgresql comspec ошибка

I’m running Windows Server 2003 R2, and I have been unable to resolve this problem with the installer, so I resorted to using the binary PostgreSQL package. Hopefully this will be an alternative for others who do not want to perform an OS reinstall.

First, some background (hopefully useful to the developers)

It started out with the postgres service failing to start (the server had been running reliably for over a year). I assumed it was a corrupted PostgreSQL installation, so I uninstalled and attempted to reinstall. I encountered the following error:

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.

However, the COMSPEC variable is set properly, verified with:

echo %COMSPEC%
C:WINDOWSsystem32cmd.exe

and:

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

Since this is Windows Server 2003, there is no UCA wrapper around the Administrator account, so that is not causing the problem.

Manual Installation

NET USER postgres /ADD

C:pgsqlbininitdb.exe -U postgres -A password -E utf8 -W -D C:pgsqldata

runas /user:postgres "C:pgsqlbinpg_ctl -D C:/pgsql/data -l C:/pgsql/logfile.txt start"

I am new to PostgreSQL and when I tried to install PostgreSQL 13 / 14 on my Windows 10 device I encountered the following error.

"The environment variable COMSPEC does not seem to point to the cmd.exe or there is a training semicolon present. Please fix this variable and restart installation." 

The screenshot of the pop up error

COMSPEC System Variable

This is the setting of my COMSPEC environment variable

The Content of the installbuilder_installer.log

Log started 05/06/2022 at 17:51:52
Preferred installation mode : qt
Trying to init installer in mode qt
Mode qt successfully initialized
Setting variable whoami from C:WINDOWSSystem32whoami 
Script exit code: 0

Script output:
 atrapajunkwong

Script stderr:
 

Executing C:WINDOWSSystem32icacls "C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40" /inheritance:r
Script exit code: 0

Script output:
 processed file: C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40
Successfully processed 1 files; Failed processing 0 files

Script stderr:
 

Executing C:WINDOWSSystem32icacls "C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40" /T /Q /grant "atrapajunkwong:(OI)(CI)F"
Script exit code: 0

Script output:
 Successfully processed 1 files; Failed processing 0 files

Script stderr:
 

Executing C:WINDOWSSystem32cscript //NoLogo "C:UsersjunkwongAppDataLocalTemppostgresql_installer_c7c2d91f40prerun_checks.vbs"
Script exit code: 0

Script output:
 The scripting host appears to be functional.

Script stderr:
 

Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Base Directory. Setting variable iBaseDirectory to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Branding. Setting variable iBranding to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Version. Setting variable brandingVer to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Shortcuts. Setting variable iShortcut to empty value
[17:52:01] Using branding: PostgreSQL 14
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 SB_Version. Setting variable sb_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 pgAdmin_Version. Setting variable pgadmin_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 CLT_Version. Setting variable clt_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Data Directory. Setting variable server_data_dir to empty value
Executing C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40/temp_check_comspec.bat 
Script exit code: 0

Script output:
 

Script stderr:
 

Exiting with code 1

And the COMSPEC variable is indeed set as a System Variable not a User Variable like many posts proposed. Also, there is no trailing semi colon (;)

What I have tried:

  1. I have ran the "%COMSPEC%" /C "echo test ok" on my command prompt and got «test ok» as result see here
  2. Ran the installation on Administrator cmd.
  3. To install different versions of PostgreSQL including 14.2.2, 14.3.1 and 13.7.1 (all produce the same error message)
  4. Tried out the solution proposed by Prayash Koirala but no Command Processor file can be found Postgresql 9.4 installation/Windows 8.1/ COMSPEC issue
  5. Tried this Problems Installing PostgreSQL 9.2 . but the bitrock_installer_xxxx.log is absent from the suggested path

Thank you very much, any help or suggestions are appreciated.

Have a good day.

Regards,
Jun Kang

asked May 17, 2022 at 9:33

Jun Kang Wong's user avatar

Jun Kang WongJun Kang Wong

511 gold badge1 silver badge4 bronze badges

1

I faced this problem once again, and my previous answer didn’t work for me this time.

I solved the problem by instead of using classic PostgreSQL installer, I set this up with a Docker.

  1. Install Docker Desktop

    Docker Desktop

  2. Start installed Docker Desktop

  3. In PowerShell, run:

    docker pull postgres

  4. In PowerShell, run:

    docker run -d -p 5432:5432 —name postgres -e POSTGRES_PASSWORD=mypassword postgres

  5. Now you can connect to the Postgres server for example with pgAdmin on the same machine, using:

    • host: localhost
    • port: 5432
    • maintenance database: postgres
    • username: postgres
    • password: mypassword

answered Nov 9, 2022 at 9:50

Wojciech Stańczewski's user avatar

1

Hi i have faced the same issue but then i changed the environment variables of CompSpec to name: ComSpec and the path: C:Windowssystem32cmd.exe and restarted my pc and it installed successfully. Hope it helps.

answered Jun 6, 2022 at 11:40

Adil Syed's user avatar

I had the same error like yesterday man and the answer above is pretty correct. I am just going to elaborate the procedure in clearor steps.

First, right-click on the Windows icon on your taskbar and select System.

In the Settings window, under Related Settings, click Advanced system settings.

On the Advanced tab, click Environment Variables.

Under System Variables click New to create a new environment variable. Name it ComSpec and set the path to point to C:Windowssystem32cmd.exe

After creating the environment variable click Apply and then OK to have the change take effect.

Restart might be required.

Peace.

answered Oct 20, 2022 at 9:36

Я только что загрузил postgreSQL 9.4 с http://www.enterprisedb.com/products-services-training/pgdownload#windows для windows x86-64. И когда я запускаю установщик, у меня появляется ошибка:
The environment variable COMSPEC does not seem to point to the cmd.exe or there is a trailing semi colon present.
Я проверил это с помощью команды
echo %COMSPEC%
C:WINDOWSsystem32cmd.exe
без точки с запятой.
Что я уже тестировал:
Все, что там указано: Проблемы с установкой PostgreSQL 9.2 и все ссылки с этой страницы.

Спасибо за помощь,

Информация: Windows 8.1 64bit, пользователь: как admin.

person
Obi Wan
  
schedule
27.01.2015
  
source
источник


Ответы (6)

У меня тоже была такая же проблема некоторое время назад, но я исправил ее. На самом деле это довольно просто. Просто откройте Расширенные системные настройки в Панели управления и создайте новую системную переменную (помните, что это «Системная переменная» вместо «Пользовательская переменная»).

В имени переменной введите «ComSpec», а затем в значение переменной введите «C: Windows system32 cmd.exe».

Это все. Надеюсь, что это работает!

person
a134man
  
schedule
17.07.2015

Для меня в дополнение к вышеуказанным методам я решил эту проблему, выполнив следующие шаги:

  1. Win + R и введите REGEDIT
  2. Перейдите к HKEY_CURRENT_USER/Software/Microsoft/Command Processor
  3. Здесь щелкните правой кнопкой мыши на автозапуске и выберите «Изменить».
  4. Под данными значения измените значение на 0.
  5. Решено !!!

person
Prayash Koirala
  
schedule
08.02.2020

Проблема возникла из-за имени папки пользователя. Он имеет специальный символ: &. Изменение имени заставит его работать отлично. Для тех, кто сталкивается с этой проблемой, имейте в виду, что изменение имени папки пользователя — непростая задача, и со своей стороны я переустановил Windows и позаботился о имени компьютера.

person
Obi Wan
  
schedule
28.01.2015

Легко исправить:

  1. Откройте переменные среды, вы можете сделать это в Windows 7, набрав переменные среды в программе поиска и на панели файлов при нажатии кнопки «Пуск» в левом нижнем углу рабочего стола. И создайте новую системную переменную (в разделе «Системная переменная» вместо «Пользовательская переменная»).

  2. В имени переменной введите «ComSpec», а затем в значение переменной введите «C: Windows system32 cmd.exe».

Это все. Надеюсь, что это работает!

Альтернативное исправление:

Если у вас уже есть переменная ComSpec в разделе «Системная переменная», удалите ; в конце, это должно исправить это.

person
CommonSenseCode
  
schedule
08.06.2016

У меня была такая же проблема, но другие решения у меня не работали. Я также изменил имя и значение переменной окружения. Позже, во время исследования, я обнаружил, что эта ошибка возникает из-за вируса в вашей системе. Я установил антивирусное программное обеспечение Rkill, которое помогло мне запустить мой cmd, оно работает для меня, и я без проблем устанавливаю PostgreSQL.

person
Adnan Rafique
  
schedule
27.08.2020

Я новичок в PostgreSQL, и когда я попытался установить PostgreSQL 13/14 на свое устройство с Windows 10, я столкнулся со следующей ошибкой.

"The environment variable COMSPEC does not seem to point to the cmd.exe or there is a training semicolon present. Please fix this variable and restart installation." 

Скриншот всплывающей ошибки

Системная переменная COMSPEC

Это настройка моей переменной среды COMSPEC.

Содержание installbuilder_installer.log

Log started 05/06/2022 at 17:51:52
Preferred installation mode : qt
Trying to init installer in mode qt
Mode qt successfully initialized
Setting variable whoami from C:WINDOWSSystem32whoami 
Script exit code: 0

Script output:
 atrapajunkwong

Script stderr:
 

Executing C:WINDOWSSystem32icacls "C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40" /inheritance:r
Script exit code: 0

Script output:
 processed file: C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40
Successfully processed 1 files; Failed processing 0 files

Script stderr:
 

Executing C:WINDOWSSystem32icacls "C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40" /T /Q /grant "atrapajunkwong:(OI)(CI)F"
Script exit code: 0

Script output:
 Successfully processed 1 files; Failed processing 0 files

Script stderr:
 

Executing C:WINDOWSSystem32cscript //NoLogo "C:UsersjunkwongAppDataLocalTemppostgresql_installer_c7c2d91f40prerun_checks.vbs"
Script exit code: 0

Script output:
 The scripting host appears to be functional.

Script stderr:
 

Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Base Directory. Setting variable iBaseDirectory to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Branding. Setting variable iBranding to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Version. Setting variable brandingVer to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Shortcuts. Setting variable iShortcut to empty value
[17:52:01] Using branding: PostgreSQL 14
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 SB_Version. Setting variable sb_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 pgAdmin_Version. Setting variable pgadmin_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 CLT_Version. Setting variable clt_version to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-14 Data Directory. Setting variable server_data_dir to empty value
Executing C:UsersjunkwongAppDataLocalTemp/postgresql_installer_c7c2d91f40/temp_check_comspec.bat 
Script exit code: 0

Script output:
 

Script stderr:
 

Exiting with code 1

И переменная COMSPEC действительно установлена ​​как системная переменная, а не пользовательская переменная, как и во многих предлагаемых сообщениях. Кроме того, нет завершающей точки с запятой (;)

Что я пробовал:

  1. Я запустил "%COMSPEC%" /C "echo test ok" в командной строке и получил результат «тест прошел успешно» см. здесь
  2. Запустил установку от администратора cmd.
  3. Чтобы установить разные версии PostgreSQL, включая 14.2.2, 14.3.1 и 13.7.1 (все выдают одно и то же сообщение об ошибке)
  4. Пробовал решение, предложенное Праяшем Койралой, но файл Command Processor не найден Установка Postgresql 9.4/Windows 8.1/Проблема COMSPEC
  5. Пробовал это Проблемы при установке PostgreSQL 9.2. но bitrock_installer_xxxx.log отсутствует в предложенном пути

Большое спасибо, любая помощь или предложения приветствуются.

Хорошего дня.

С уважением,
Юн Кан

5 ответов

Привет, я столкнулся с той же проблемой, но затем я изменил переменные среды CompSpec на имя: ComSpec и путь: C:Windowssystem32cmd.exe и перезапустил свой компьютер, и он успешно установился. Надеюсь, поможет.


1

Adil Syed
6 Июн 2022 в 14:40

У меня была та же ошибка, что и вчера, и ответ выше довольно правильный. Я просто собираюсь подробно описать процедуру в четких шагах.

Сначала щелкните правой кнопкой мыши значок Windows на панели задач и выберите System.

В окне Settings под Related Settings нажмите Advanced system settings.

На вкладке Advanced нажмите Environment Variables.

Под System Variables нажмите New, чтобы создать новую переменную среды. Назовите его ComSpec и установите путь, указывающий на C:Windowssystem32cmd.exe.

После создания переменной среды нажмите Apply, а затем OK, чтобы изменения вступили в силу.

Может потребоваться перезагрузка.

Мир .


0

user15939950user15939950
20 Окт 2022 в 12:36

Я снова столкнулся с этой проблемой, и «>мой предыдущий ответ на этот раз мне не помог.

Я решил проблему, вместо того чтобы использовать классический установщик PostgreSQL, я настроил его с помощью Docker.

  1. Установить Docker Desktop

    Docker Desktop

  2. Запустите установленный рабочий стол Docker

  3. В PowerShell запустите:

    докер тянет постгрес

  4. В PowerShell запустите:

    docker run -d -p 5432:5432 —name postgres -e POSTGRES_PASSWORD=мой пароль postgres

  5. Теперь вы можете подключиться к серверу Postgres, например, с помощью pgAdmin на том же компьютере, используя:

    • хост: локальный
    • порт: 5432
    • база данных обслуживания: postgres
    • имя пользователя: postgres
    • пароль: мой пароль


0

Wojciech Stańczewski
9 Ноя 2022 в 12:50

Ответы с готовыми решениями:

Ошибка при установке postgresql
Привет!
Вот такая штука появляется при попытке установить postgresql-9.3.4-3-windows-x64.exe

Ошибка при установке postgresql
Доброго времени суток, сегодня переустановил винду и начал переустанавливать PostgreSQL и в конце…

Ошибка в остановке postgresql
postgresql работает нормально, но при попытке остановить ее получаю следующее:
1) Через кнопку…

PostgreSQL, ошибка подключения к таблице
Здравствуйте, у меня возникла такая проблема. На сервере PostgreSQL 9.3 создана база данных, в ней…

1

Понравилась статья? Поделить с друзьями:
  • Не удается скопировать ошибка 0x80071ac3
  • Не удается скачать файл ошибка сети
  • Не удается установить net framework ошибка установки
  • Не удается скачать с яндекс диска ошибка
  • Не удается установить comodo ошибка 1638