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