カテゴリー
コンピューター

【Ansible】PostgreSQL スーパーユーザにパスワード設定後のユーザや DB 追加操作する時のコツ

  • 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 にユーザを追加するときに役に立ちました♪

次のページで解決した問題と同じ考え方をスーパーユーザ以外のユーザや、データベース操作でも適用できる、というのがポイントですわね!

以上です。

コメントを残す