69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
| ---
 | |
| - name: Set postgresql installation directory
 | |
|   set_fact:
 | |
|     postgres_dir: '/etc/postgresql/{{ postgres.version }}/main'
 | |
| 
 | |
| - name: Install postgresql
 | |
|   apt:
 | |
|     update_cache: true
 | |
|     name: postgresql
 | |
|     state: present
 | |
|   register: apt_result
 | |
|   retries: 3
 | |
|   until: apt_result is succeeded
 | |
| 
 | |
| - name: Ensure main postgresql directory exists
 | |
|   file:
 | |
|     path: '{{ postgres_dir }}'
 | |
|     state: directory
 | |
|     owner: postgres
 | |
|     group: postgres
 | |
|     mode: 0755
 | |
| 
 | |
| - name: Ensure configuration directory exists
 | |
|   file:
 | |
|     path: '{{ postgres_dir }}/conf.d'
 | |
|     state: directory
 | |
|     owner: postgres
 | |
|     group: postgres
 | |
|     mode: 0755
 | |
| 
 | |
| - name: Configuration of postgresql {{ postgres.version }}
 | |
|   template:
 | |
|     src: postgresql/postgresql.conf.j2
 | |
|     dest: '{{ postgres_dir }}/postgresql.conf'
 | |
|     mode: 0640
 | |
|     owner: postgres
 | |
|     group: postgres
 | |
|   notify:
 | |
|     - reload postgresql
 | |
| 
 | |
| - name: Master of configuration of postgresql {{ postgres.version }}
 | |
|   template:
 | |
|     src: 'postgresql/{{ item }}.j2'
 | |
|     dest: '{{ postgres_dir }}/{{ item }}'
 | |
|     mode: 0640
 | |
|     owner: postgres
 | |
|     group: postgres
 | |
|   loop:
 | |
|    - pg_hba.conf
 | |
|    - pg_ident.conf
 | |
|   notify:
 | |
|     - reload postgresql
 | |
|   when: 'not(postgres.replica | default(False))'
 | |
| 
 | |
| - name: Create backup directory
 | |
|   file:
 | |
|     path: "{{ postgres.backup.dir }}"
 | |
|     owner: postgres
 | |
|     group: postgres
 | |
|     state: directory
 | |
|     mode: 0770
 | |
|   when: postgres.backup is defined
 | |
| 
 | |
| - name: Create backup cron
 | |
|   template:
 | |
|     src: cron.d/pg_dump.j2
 | |
|     dest: /etc/cron.d/pg_dump
 | |
|   when: postgres.backup is defined
 |