Я пытаюсь создать простой скрипт, который выводит запрос на csv в powershell. Тем не менее, он постоянно возвращается следующее сообщение об ошибке:Отсутствует пароль Поставляется/Позиция Параметр не найден PostgreSQL - Powershell
Psql: fe_sendauth: пароль не поставляется
Я попытался обнажая пароль, как это будет безопасной окружающей среды, но видел предложения использовать pgpass, но не реальное объяснение о том, как для реализации.
Set-Location 'E:\Program Files\PostgreSQL\9.1\bin\';
SET 'PGPASSWORD = myPwd';
.\psql -U postgres -w MyDatabase
copy {'SELECT * FROM table';} TO 'C:\Users\e\Desktop\test1.csv' CSV DELIMITER ',';
Спасибо за ответ. Я больше не получаю приглашение пароля. Я разложил ваше предложение на две строки (объявление psql для databse и другое для команды sql copy). Это работает, но мой скрипт висит с открытым подключением к базе данных, ожидая, когда я войду в свою команду sql. На самом деле он не выполняет копию, как мне нужно. Я правильно ответил на этот вопрос, но был бы очень признателен, если бы вы могли дать некоторую обратную связь по этой последней проблеме. – 530529
@ 530529 А я полагаю, что забыл цитаты из команды. –
Запуск с кавычками приводит к появлению предупреждающего сообщения с игнорированием аргумента -c и другого сообщения, игнорирующего всю копию. Несмотря на предупреждения, он регистрируется в моей базе данных и снова висит в ожидании инструкций. MyDatabase = # _ – 530529