Ввести пароль PostgreSLQ автоматически с использованием параметров psql и -F в сценарии bash

Я пытаюсь разработать cli с использованием сценариев bash для извлечения отчетов из базы данных PostgreSQL.

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

Итак, команда такая:

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 в 11:25

3 ответа

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

«Когда я выполняю эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки« [!d2 ]

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

Из psql manpage:

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

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

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

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

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

Из psql manpage:

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

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

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

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

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

Из psql manpage:

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

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

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

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