73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
# 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: "{{ psql_pass }}"
 | 
						|
- name: Restart postgresql service
 | 
						|
  service:
 | 
						|
    name: postgresql
 | 
						|
    state: restarted
 | 
						|
    enabled: yes
 | 
						|
  become: true
 |