- 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 ユーザのパスワード」の段落
以上です。
