Как можно выполнить SQL запрос через скрипт bash, используя пароль для авторизации заранее, без необходимости вводить его вручную?
Для автоматизации процесса входа в psql без необходимости ввода пароля в shell скрипте, можно использовать переменные окружения. Например, вы можете установить переменную окружения PGPASSWORD со значением вашего пароля перед запуском psql: ```bash export PGPASSWORD=your_password psql -U your_username -d your_database ``` Для выполнения SQL запроса через скрипт bash с авторизацией заранее можно использовать команду psql с опцией -c (или --command) для передачи SQL запроса непосредственно в командной строке. Например: ```bash PGPASSWORD=your_password psql -U your_username -d your_database -c "SELECT * FROM your_table;" ``` Обратите внимание, что для безопасности рекомендуется хранить пароли в зашифрованном виде и использовать механизмы безопасного хранения паролей, такие как ключи или прокси-файлы.
Почитайте про .pgpass <br/> Можно ещё в вызове pgsql задать пароль через -W, <br/> , но это плохой способ, так как пароль будет виден всем при вызове ps.
Как уже сказали: .pgpass (предпочтительный) или через флаг -W <br/> <br/> Также можно задать переменную окружения <a href="https://www.postgresql.org/docs/current/libpq-envars.html" rel="nofollow">PGPASSWORD</a> (но также <b>не безопасно</b> , т.к. виден в <code>ps</code> ) <br/> <br/> <pre><code>PGPASSWORD=password psql -h 192.168.20.145 -p 5432 -U tony -d trn -с "Some magic things"</code></pre> <br/> <br/> P.S. если это в скрипте, то лучше будет самому скрипту передать переменную <br/> <br/> <code>PGPASSWORD=password ./connect-psql.sh</code>