Проблема с запуском команд postgres на локальной машине Windows. Работает успешно в Linux, Mac, но не работает в Windows - PullRequest
0 голосов
/ 09 января 2019

Я настраиваю postgres на локальном компьютере с Windows и успешно установил его, но у меня возникают проблемы с импортом дампа. Команда

psql -U user db_name < sql_plus_dump.psql

не работает. Это не дает никакой ошибки, но ничего не происходит. Всякий раз, когда набирается psql -U, он запрашивает логин для -U, поскольку он не распознает пользователя. Есть мысли?

Пробовал переустанавливать postgres

psql -U user_name db_name < sql_plus_dump.psql

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Спасибо всем, кто помог отладить это, дальнейшие исследования показали, что команда "psql -U user_name db_name

0 голосов
/ 09 января 2019

Я предполагаю, что вы запускаете psql под git bash или чем-то подобным, а не под cmd.exe или powershell.

Первое решение - запустить его под cmd или powershell. Это связано с тем, что psql обнаруживает что-то, чего не обеспечивает bash, и считает, что работает без заголовка, поэтому не выводит лишние данные.

Что я сделал, так это установил несколько оболочек сценариев оболочки, которые а) создают PGPASSFILE и б) определяют, является ли командная строка интерактивной или нет (-f или -c указано в командной строке). Если он интерактивный, используйте start для запуска нового окна с помощью cmd.exe, в противном случае просто запустите его локально с установленным PGPASSFILE. PGPASSFILE позволяет мне обойти запрос пароля (так как теперь он автоматически читается с диска), а затем остальная часть моего файла sql запускается нормально, хотя я использую -f вместо <.

Было немного неудобно настраивать, но, учитывая мои предпочтения в командной строке, а не в pgadmin, оно того стоило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...