Merge pull request #1 from JensTimmerman/patch-1

only add new databases if they are not yet present
This commit is contained in:
Jens Timmerman 2020-10-24 18:18:23 +02:00 committed by GitHub
commit d4a3f52671
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 0 deletions

View File

@ -1,4 +1,16 @@
---
- name: Collect PostgreSQL db_names
postgresql_query:
login_host: "{{ item.login_host | default('localhost') }}"
login_password: "{{ item.login_password | default(omit) }}"
login_user: "{{ item.login_user | default(postgresql_user) }}"
login_unix_socket: "{{ item.login_unix_socket | default(postgresql_unix_socket_directories[0]) }}"
port: "{{ item.port | default(omit) }}"
query: "SELECT datname FROM pg_database;"
register: postgresql_present_db_names
become: true
become_user: "{{ postgresql_user }}"
- name: Ensure PostgreSQL databases are present.
postgresql_db:
name: "{{ item.name }}"
@ -19,3 +31,5 @@
# See: https://github.com/ansible/ansible/issues/16048#issuecomment-229012509
vars:
ansible_ssh_pipelining: true
when: "item.name not in (postgresql_present_db_names.query_result | map(attribute='datname') )"