稼働中のPostgreSQLデータベースがあります。ここで、データベースに対するいくつかの操作を自動化したいのですが、パスワードに問題があります。
次のbashスクリプトを使用しています。
#!/bin/bash
export PGPASSWORD="postgres"
sudo -u postgres psql -d pg_ldap -w --no-password -h localhost -p 5432 -t -c "SELECT id FROM radusers WHERE id=1"
bashスクリプトを実行すると、次のエラーが表示されます。
psql: fe_sendauth: no password supplied
私は自分のホームディレクトリで.pgpassファイルを設定しようとしましたが、役に立ちませんでした:
*:*:*:postgres:postgres
次のコマンドを実行しました。
sudo chmod 0600 .pgpass
それにもかかわらず、どの方法も機能するとは思われません。誰にもアイデアはありますか?私は何かをするのを忘れていますか?
.pgpass
であるあなたのホームディレクトリ?postgres
ユーザーのものではありませんか?
sudo su -c psql postgres psql ...
代わりに試してください。