Проблемы с установкой PostgreSQL 9.2
Я'пытался установить 64-битную версию PostgreSQL 9.2 для Windows на свою машину (Windows 7 64bit) и получил эту ошибку:
Переменная среды COMPSPEC, похоже, не указывает на cmd.exe или в ней присутствует корявое двоеточие
.
Я установил его от имени администратора.
Я отключил антивирус (Microsoft Security Essentials) и брандмауэр.
Запускаю:
"%COMSPEC%" /C "echo test ok"
возвращено test ok
.
Я проверил системные переменные окружения на наличие двоеточия и не нашел его.
Затем я установил 32-разрядную версию и смог дойти до конца установки с другим сообщением об ошибке, гласящим: Problem running post-install step. Установка может завершиться неправильно Ошибка чтения C:\Program Files (x86)\PostgreSQL\9.2\data\postgresql.conf
, но в этом каталоге нет файла postgresql.conf
. Приложение установилось, но когда я пытаюсь подключиться к серверу с красным X на нем, внизу появляется надпись fail, и он не подключается после того, как я ввожу свой пароль.
Как я могу подключиться к этому серверу?
Это не
COMPSPEC
, это простоCOMSPEC
. Пожалуйста, покажите вывод:Обратите внимание, что
COMSPEC
может быть установлен на что-то другое в учетной записи администратора, от имени которой вы запускаете программу установки. Я не знаю точно, как это выяснить, но это может появиться в журнале программы установки PostgreSQL, поэтому загрузите его и дайте ссылку на него в своем сообщении. Смотрите Reporting an installation error для получения информации о том, где взять журнал программы установки.См. статью FAQ по PostgreSQL для Windows Проверьте переменную окружения
COMSPEC
.Here's a report I made с предложением о том, что программа установки должна явно проверять это, и here's my blog post on the topic.
У меня такая же проблема, и я обнаружил в журнале:
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. И решил свою проблему.
У меня была похожая проблема. После установки в папке data не было файла postgres.conf. В ней была только одна папка с именем "pg_log". Я описал решение, которое я использовал, здесь: https://stackoverflow.com/questions/16730405/postgress-instalation-error-reading-file-postgresql-conf/17249527#17249527.
В принципе, было бы полезно проверить, есть ли у пользователя полные права на папку postgres, и снова запустить команды "init_db" и "pg_ctl start". Если путь содержит символ пробела, попробуйте использовать относительный путь для аргумента pg_ctl data folder.