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