Я пытаюсь разработать 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 и отправлю его в определенный файл, он не будет работать.
Есть ли другая возможность автоматически вводить пароль базы данных?
TL; DR: просто удалите -W из ваших параметров psql.
«Когда я выполняю эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки« [!d2 ]«Всегда запрашивать пароль» - это вариант -W. В частности, это происходит до проверки с сервером, если требуется пароль, который зависит от правил, настроенных в pg_hba.conf.
Из psql manpage:
«Когда я выполните эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки «
. Этот параметр никогда не является обязательным, так как psql автоматически запрашивает пароль, если сервер требует аутентификации по паролю. Однако psql будет тратить время на попытку подключения, обнаружив, что сервер хочет пароль. В некоторых случаях стоит набирать -W, чтобы избежать дополнительной попытки подключения.TL; DR: просто удалите -W из ваших параметров psql.
«Когда я выполняю эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки««Всегда запрашивать пароль» - это вариант -W. В частности, это происходит до проверки с сервером, если требуется пароль, который зависит от правил, настроенных в pg_hba.conf.
Из psql manpage:
«Когда я выполните эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки «
. Этот параметр никогда не является обязательным, так как psql автоматически запрашивает пароль, если сервер требует аутентификации по паролю. Однако psql будет тратить время на попытку подключения, обнаружив, что сервер хочет пароль. В некоторых случаях стоит набирать -W, чтобы избежать дополнительной попытки подключения.TL; DR: просто удалите -W из ваших параметров psql.
«Когда я выполняю эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки««Всегда запрашивать пароль» - это вариант -W. В частности, это происходит до проверки с сервером, если требуется пароль, который зависит от правил, настроенных в pg_hba.conf.
Из psql manpage:
«Когда я выполните эту команду, всегда запрашивается запрос пароля, даже если я использую переменную PGPASSWORD для настройки «
. Этот параметр никогда не является обязательным, так как psql автоматически запрашивает пароль, если сервер требует аутентификации по паролю. Однако psql будет тратить время на попытку подключения, обнаружив, что сервер хочет пароль. В некоторых случаях стоит набирать -W, чтобы избежать дополнительной попытки подключения.