AnsibleでPostgreSQLの操作を行おうとしたが、rootユーザのままだと認証できない。
pd_hba.confの場所はOSによって違う。
正しかったとしてもパスワード初期状態では接続できない。
(fe_sendauth: no password suppliedというエラーがでる)
という八方塞がりな状況でどうしたものか?
もはやMySQLに移行して二度とPostgreSQLは使わないとすねかけていたが、
世の中のサンプルをみるとpostgresユーザーで操作を行うのが良いようだ。
というわけでsudoとsudo_userを関連タスクにもれなくつけることにした。
- name: create postgres db postgresql_db: name=XXXX encoding='UTF-8' lc_collate='ja_JP.UTF-8' lc_ctype='ja_JP.UTF-8' template='template0' login_user=postgres sudo: yes sudo_user: postgres - name: create user postgresql_user: db="XXXX" name="XXXX" password="PASSWORD" priv=ALL state=present login_user=postgres sudo: yes sudo_user: postgres