--- # tasks file for postgresql - name: Install package dependencies package: name: - postgresql - postgresql-contrib - python3-pip - acl state: present update_cache: yes become: true - name: Install `psycopg2` driver for postgresql pip: name: psycopg2-binary state: present become: true - name: Update `listen_address` in `/etc/postgresql/12/main/postgresql.conf` lineinfile: path: /etc/postgresql/12/main/postgresql.conf regexp: ^#listen_addresses = 'localhost' line: listen_addresses='*' become: true - name: Update `pg_hba.conf` community.postgresql.postgresql_pg_hba: dest: /etc/postgresql/12/main/pg_hba.conf contype: host users: postgres source: 192.168.56.0/24 method: md5 create: true become: true - name: Create new test-database become_user: postgres become: yes community.postgresql.postgresql_db: name: test - name: Create table `test`.`message` become_user: postgres become: yes community.postgresql.postgresql_table: db: test name: message columns: - id bigserial primary key - content text - name: Copy over dummy-data for `test`.`message` copy: src: "{{ role_path }}/files/sample.csv" dest: /tmp/sample.csv - name: Insert sample data into `test`.`message` become_user: postgres become: yes community.postgresql.postgresql_copy: copy_from: /tmp/sample.csv db: test dst: message columns: content options: format: csv - name: Update password of postgres user become_user: postgres become: yes community.postgresql.postgresql_user: name: postgres password: coolshit - name: Restart postgresql service service: name: postgresql state: restarted enabled: yes become: true