- name: fail if query is not an object fail: msg: query must be an object when: query is not mapping - name: fail if query parameters are incorrect fail: msg: some query parameters are incorrect when: query.text is not string - name: execute query community.postgresql.postgresql_query: db: "{{ query.database | d(omit) }}" query: "{{ query.text }}" positional_args: "{{ query.positional_args | d(omit) }}" register: db_result changed_when: false - name: set query result set_fact: query_result: "{{ db_result.query_result | d({}) }}" - block: - name: grant privileges to all tables community.postgresql.postgresql_privs: database: "{{ query.database }}" privs: ALL type: table objs: ALL_IN_SCHEMA role: "{{ query.user }}" - name: grant privileges to all sequences community.postgresql.postgresql_privs: database: "{{ query.database }}" privs: ALL type: sequence objs: ALL_IN_SCHEMA role: "{{ query.user }}" when: query.refresh_privs | d(false) == true