Installs postgresql, manages users and databases.
Go to file
Andrea Dell'Amico f3c6ddd67b Ensure the correct permissions of the config files. 2021-02-05 16:15:23 +01:00
defaults The postgresql default version is now 13. 2021-02-05 14:20:28 +01:00
files Add support for CentOS. 2020-07-30 14:14:39 +02:00
handlers Add support for CentOS. 2020-07-30 14:14:39 +02:00
library Rename the module. 2020-07-08 14:28:33 +02:00
meta Import the old role, Ubuntu only. 2020-06-03 19:53:13 +02:00
tasks Ensure the correct permissions of the config files. 2021-02-05 16:15:23 +01:00
templates Fix the letsencrypt (acme) hook to not restart the service when the certificate was not changed. 2020-12-04 12:12:50 +01:00
tests Initial commit 2020-06-03 19:19:32 +02:00
vars Initial commit 2020-06-03 19:19:32 +02:00
.gitignore Initial commit 2020-06-03 19:19:32 +02:00
LICENSE Initial commit 2020-06-03 19:19:32 +02:00
README.md Import the old role, Ubuntu only. 2020-06-03 19:53:13 +02:00

README.md

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:

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 DellAmico, andrea.dellamico@isti.cnr.it