Представьте пароль PostgreSLQ автоматически с помощью psql и-F параметр в сценарии удара

Я пытаюсь разработать cli, использующий сценарии удара для получения отчетов от a PostgreSQL база данных.

Я использую команду psql и-F параметр для создания CSV с результатом.

Таким образом, команда - что-то как этот:

psql -h myhost -p 5432 -U myuser -d mydatabase -W -A -F"," -c "<MY QUERY>" > $(date +%Y%m%d%H%M)_report.csv

Когда я выполняю эту команду, всегда запрос пароля запрашивается, даже если я использую переменную PGPASSWORD для установки пароля прежде, чем выполнить это.

Если я только пытаюсь соединиться, это работает, но если я добавляю-W-A-F-c и отправляю это в определенный файл, это не работает.

Там возможность состоит в том, чтобы автоматически представить пароль базы данных?

0
задан 15 September 2017 в 01:25

1 ответ

TL; DR: просто удалите -W из своих psql опций.

, "Когда я выполняю эту команду, всегда запрос пароля запрашивается, даже если я использую переменную PGPASSWORD для установки"

, "Всегда просят пароль", то, для чего -W опция. В особенности это происходит перед сверением с сервером, если пароль необходим, который зависит от правил, настроенных в pg_hba.conf.

Из psql страницы справочника:

Вт, - Сила пароля psql для запроса пароль прежде, чем соединиться с базой данных.

Эта опция никогда не важна, так как psql автоматически запросит пароль, если сервер потребует аутентификации по паролю. Однако psql потратит впустую попытку подключения, узнавая, что сервер хочет пароль. В некоторых случаях стоит ввести-W для предотвращения дополнительной попытки подключения.

1
ответ дан 2 November 2019 в 06:34

Другие вопросы по тегам:

Похожие вопросы: