I wrote a playbook to make a config edit in /etc/postgreql/95/main/pg_hba.conf.
Basically, it's to search for an existing string and replace it.
Trouble is, when the playbook is ran for a second time, it adds the line as if it didn't exist.
Thoughts?
- name: postgres | Allow MD5 authentication
lineinfile: >
dest=/etc/postgresql/9.5/main/pg_hba.conf
regexp="local\s+all\s+all\s+peer"
backup=yes
state=present
insertafter=yes
----pg_hba.conf before running playbook
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer <---- to be changed
# IPv4 local connections:
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres ::1/128 md5
--------------------------------------------------------------------------------------------
----pg_hba.conf after running playbook once
# Database administrative login by Unix domain socket
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local sandbar sandbar peer <----------Good
# IPv4 local connections:
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres ::1/128 md5
--------------------------------------------------------------------------------------------
----pg_hba.conf after running playbook twice
# "local" is for Unix domain socket connections only
local sandbar sandbar peer <----------Good
# IPv4 local connections:
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres ::1/128 md5
local sandbar sandbar peer <----------Duplicate
--------------------------------------------------------------------------------------------