Role Name ========= A role that installs PostgreSQL and manages databases and users. It can also install pgPoolII Role Variables -------------- The most important variables are listed below: ``` yaml psql_postgresql_install: True psql_pkg_state: present postgresql_enabled: True psql_pgpool_install: False psql_pgpool_service_install: False psql_version: 11 psql_db_host: localhost psql_listen_on_ext_int: False psql_use_alternate_data_dir: False psql_enable_ssl: False psql_force_ssl_client_connection: False postgresql_letsencrypt_managed: '{{ psql_enable_ssl }}' psql_db_data: # Example of line needed to create a db, create the user that owns the db, manage the db accesses (used by iptables too). All the fields are mandatory. - { name: '{{ psql_db_name }}', encoding: 'UTF8', user: '{{ psql_db_user }}', pwd: '{{ psql_db_pwd }}', roles: 'NOCREATEDB,NOSUPERUSER', extensions: [ 'postgis', 'pgpool_regclass', 'pgpool_recovery' ], allowed_hosts: [ 'xxx.xxx.xxx.xxx/32', 'yyy.yyy.yyy.yyy/32' ], managedb: True } # Example of line needed to manage the db accesses (used by iptables too), without creating the db and the user. Useful, for example, to give someone access to the postgresql db - { name: '{{ psql_db_name }}', user: '{{ psql_db_user }}', allowed_hosts: [ 'xxx.xxx.xxx.xxx/32', 'yyy.yyy.yyy.yyy/32' ], managedb: False } # Example of line needed to remove a db, create the user that owns the db, manage the db accesses (used by iptables too). All the fields are mandatory. - { name: '{{ psql_db_name }}', encoding: 'UTF8', user: '{{ psql_db_user }}', pwd: '{{ psql_db_pwd }}', managedb: True, roles: 'NOCREATEDB,NOSUPERUSER', extensions: [ 'postgis', 'pgpool_regclass', 'pgpool_recovery' ], allowed_hosts: [ 'xxx.xxx.xxx.xxx/32', 'yyy.yyy.yyy.yyy/32' ], state=absent } ``` Dependencies ------------ None License ------- EUPL-1.2 Author Information ------------------ Andrea Dell'Amico,