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
 |