web-dev-qa-db-ja.com

bashスクリプトでpostgresqlユーザーパスワードを設定する方法

デフォルトのPostgresqlサーバーユーザーpostgresのパスワードを設定したい。私はそれを使ってそれをしました:

Sudo -u postgres psql
# \password postgres

多くのマシンでこのステップを実行したいので、bashスクリプトを作成して同じことを行います。これをbashでどのように達成するのですか?

12
saji89

documented として、--commandオプションを使用してメタコマンドを実行できます。

Sudo -u postgres psql --command '\password postgres'

一重引用符は、シェルがバックスラッシュをエスケープ文字として扱わないようにします。

9
Ansgar Wiechers

インタラクティブな端末を想定しているpsql \passwordコマンドを使用する代わりに、次のコマンドを使用できます。

ALTER USER postgres WITH PASSWORD 'newpassword';

psql -cコマンドを使用して、次のように言います。

Sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
22
Craig Ringer