mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- name: 'Install packages: postgresql, postgresql-client'
 | 
						|
  package:
 | 
						|
    name:
 | 
						|
      - postgresql
 | 
						|
      - postgresql-client
 | 
						|
    state: present
 | 
						|
 | 
						|
- name: Install /etc/systemd/system/postgresql-iiab.service from template (0644 by default)
 | 
						|
  template:
 | 
						|
    src: postgresql-iiab.service
 | 
						|
    dest: /etc/systemd/system/postgresql-iiab.service
 | 
						|
    # owner: root
 | 
						|
    # group: root
 | 
						|
    # mode: '0644'
 | 
						|
 | 
						|
- name: Create PostgreSQL data dir /library/pgsql-iiab, owned by postgres:postgres (0700)
 | 
						|
  file:
 | 
						|
    state: directory
 | 
						|
    path: /library/pgsql-iiab
 | 
						|
    owner: postgres
 | 
						|
    group: postgres
 | 
						|
    mode: 0700
 | 
						|
 | 
						|
- name: Make sure locale {{ postgresql_locale }} is enabled    # en_US.UTF-8
 | 
						|
  lineinfile:
 | 
						|
    dest: /etc/locale.gen
 | 
						|
    line: "{{ postgresql_locale }} UTF-8"
 | 
						|
 | 
						|
- name: Generate locales
 | 
						|
  command: /usr/sbin/locale-gen
 | 
						|
 | 
						|
- name: Initialize the PostgreSQL db, creating /library/pgsql-iiab/pg_hba.conf
 | 
						|
  #command: su - postgres -c "/usr/lib/postgresql/{{ postgresql_version }}/bin/initdb -E 'UTF-8' --locale={{ postgresql_locale }} -D /library/pgsql-iiab"
 | 
						|
  command: /usr/lib/postgresql/{{ postgresql_version }}/bin/initdb -E 'UTF-8' --locale={{ postgresql_locale }} -D /library/pgsql-iiab
 | 
						|
  args:
 | 
						|
    creates: /library/pgsql-iiab/pg_hba.conf
 | 
						|
  become: yes
 | 
						|
  become_user: postgres
 | 
						|
 | 
						|
# - name: Initialize the PostgreSQL db, creating /library/pgsql-iiab/pg_hba.conf (OS's other than debuntu)
 | 
						|
#   #command: su - postgres -c "/usr/bin/initdb -E 'UTF-8' --lc-collate={{ postgresql_locale }} --lc-ctype={{ postgresql_locale }} -D /library/pgsql-iiab"
 | 
						|
#   command: /usr/bin/initdb -E 'UTF-8' --lc-collate={{ postgresql_locale }} --lc-ctype={{ postgresql_locale }} -D /library/pgsql-iiab
 | 
						|
#   args:
 | 
						|
#     creates: /library/pgsql-iiab/pg_hba.conf
 | 
						|
#   become: yes
 | 
						|
#   become_user: postgres
 | 
						|
#   when: not is_debuntu
 | 
						|
 | 
						|
- name: Install /library/pgsql-iiab/postgresql.conf from template (postgres:postgres, 0640)
 | 
						|
  template:
 | 
						|
    backup: yes
 | 
						|
    src: postgresql.conf.j2
 | 
						|
    dest: /library/pgsql-iiab/postgresql.conf
 | 
						|
    owner: postgres
 | 
						|
    group: postgres
 | 
						|
    mode: 0640
 | 
						|
 | 
						|
- name: Disable & Stop stock 'postgresql' (parent) systemd service
 | 
						|
  systemd:
 | 
						|
    name: postgresql
 | 
						|
    state: stopped
 | 
						|
    enabled: no
 | 
						|
 | 
						|
# Above parent service postgresql.service uses template postgresql@.service to
 | 
						|
# start/stop` child service e.g. postgresql@11-main.service on Debian 10, or
 | 
						|
# postgresql@13-main.service on Debian 11. So these 2 stanzas dont do anything:
 | 
						|
 | 
						|
# 'systemctl is-enabled postgresql@' shows 'indirect' before + after
 | 
						|
#- name: Disable stock 'postgresql@' (template) if real Debian
 | 
						|
#  systemd:
 | 
						|
#    name: postgresql@
 | 
						|
#    #state: stopped    # Error if you attempt to stop template
 | 
						|
#    enabled: no        # Doesn't do anything
 | 
						|
#  when: is_debian and not is_raspbian
 | 
						|
 | 
						|
# 'systemctl is-enabled postgresql@13-main.service' shows 'enabled-runtime' before + after
 | 
						|
#- name: Disable & Stop stock 'postgresql@{{ postgresql_version }}-main.service' (child service) if real Debian
 | 
						|
#  systemd:
 | 
						|
#    name: "postgresql@{{ postgresql_version }}-main.service"
 | 
						|
#    state: stopped    # Already done by parent above
 | 
						|
#    enabled: no       # Doesn't do anything
 | 
						|
#  when: is_debian and not is_raspbian
 | 
						|
 | 
						|
 | 
						|
# RECORD PostgreSQL AS INSTALLED
 | 
						|
 | 
						|
- name: "Set 'postgresql_installed: True'"
 | 
						|
  set_fact:
 | 
						|
    postgresql_installed: True
 | 
						|
 | 
						|
- name: "Add 'postgresql_installed: True' to {{ iiab_state_file }}"
 | 
						|
  lineinfile:
 | 
						|
    path: "{{ iiab_state_file }}"    # /etc/iiab/iiab_state.yml
 | 
						|
    regexp: '^postgresql_installed'
 | 
						|
    line: 'postgresql_installed: True'
 |