- login_user、login_password を設定する。
- インストール直後など、スーパーユーザにパスワードが設定されていない場合、PostgreSQL 関連モジュールでは自由に設定が可能
- しかし、一度パスワードを設定すると、今後はそのパスワードがないと PostgreSQL への変更が行えない。
- そこで、まだパスワードが設定されていなくても、login_user、login_password を明示的に指定することでこの問題を回避し、冪等性を保つことができる。
例
... 略 ... - name: Create PostgreSQL user for Redmine postgresql_user: name: redmine password: "{{ redmine_db_passwd }}" login_user: postgres login_password: "{{ postgres_su_pass }}" notify: Restart postgresql-9.6 - name: Create PostgreSQL database for Redmine postgresql_db: name: redmine owner: redmine encoding: 'UTF-8' lc_collate: 'ja_JP.UTF-8' lc_ctype: 'ja_JP.UTF-8' template: 'template0' login_user: postgres login_password: "{{ postgres_su_pass }}" notify: Restart postgresql-9.6 ... 略 ...
おわりに
にて、PostgreSQL にユーザを追加するときに役に立ちました♪
次のページで解決した問題と同じ考え方をスーパーユーザ以外のユーザや、データベース操作でも適用できる、というのがポイントですわね!
- 【Ansible】【Vagrant】CentOS 7 での PostgreSQL 9.6、phpPgAdmin 環境構築メモ – oki2a24
「PostgreSQL ユーザのパスワード」の段落
以上です。