debops.postgresql default variables
Sections
PostgreSQL installation, packages
- postgresql__upstream
Enable PostgreSQL Global Development Group APT repository? More information: https://wiki.postgresql.org/wiki/Apt
postgresql__upstream: False
- postgresql__upstream_key_id
The GPG fingerprint of the upstream APT repository key.
postgresql__upstream_key_id: 'B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'
- postgresql__upstream_apt_repo
The upstream APT repository URL in the sources.list
format.
postgresql__upstream_apt_repo: 'deb http://apt.postgresql.org/pub/repos/apt {{ ansible_distribution_release }}-pgdg main'
- postgresql__base_packages
List of base PostgreSQL packages to install.
postgresql__base_packages: [ 'postgresql-client' ]
- postgresql__python_packages
List of Python packages to install with PostgreSQL.
postgresql__python_packages: []
- postgresql__packages
Install additional packages with PostgreSQL.
postgresql__packages: []
- postgresql__preferred_version
Specify preferred version of the PostgreSQL packages to install. Only makes sense when multiple PostgreSQL versions are available as APT packages, for example when the upstream APT repository is enabled. See the postgresql__preferred_version for more details.
postgresql__preferred_version: ''
- postgresql__user
PostgreSQL user account to which Ansible will switch to perform database-related operations. Should be the same on local and remote database servers.
postgresql__user: 'postgres'
- postgresql__server
FQDN hostname of the remote PostgreSQL server to use. Role detects if a local server is available and uses it automatically.
postgresql__server: '{{ ansible_local.postgresql.server
if (ansible_local.postgresql.server | d() and
ansible_local.postgresql.server != "localhost")
else "" }}'
- postgresql__port
Default port number of the PostgreSQL server to use (local or remote).
postgresql__port: '5432'
- postgresql__delegate_to
FQDN hostname of the host that will execute Ansible tasks related to the PostgreSQL database and role management. If PostgreSQL server is available locally, host will delegate the tasks to itself automatically.
postgresql__delegate_to: '{{ postgresql__server
if (postgresql__server | d() and
postgresql__server != "localhost")
else inventory_hostname }}'
- postgresql__password_hostname
The hostname used in the password lookup if the password
parameter for
a given PostgreSQL role is not set. Passwords are stored on the Ansible
Controller in the secret/
directory; see debops.secret role for more
details.
postgresql__password_hostname: '{{ postgresql__delegate_to
if (postgresql__delegate_to != omit)
else inventory_hostname }}'
- postgresql__password_length
Length of the randomly generated passwords in PostgreSQL database.
postgresql__password_length: '64'
- postgresql__password_characters
Characters allowed in the randomly generated passwords in PostgreSQL database.
postgresql__password_characters: 'ascii_letters,digits,.-_~&()*='
pg_wrapper integration
- postgresql__default_database
Name of the database the users should connect to, set as default in
/etc/postgresql-common/user_clusters
. If the name is *
, users will
connect to the database with the same name as their login.
postgresql__default_database: '*'
- postgresql__default_user_clusters
Default entry specified in /etc/postgresql-common/user_clusters
, used by
pg_wrapper
script to direct users to correct PostgreSQL server. See
postgresql__user_clusters for more details.
postgresql__default_user_clusters:
- user: '*'
group: '*'
cluster: '{{ (postgresql__server + ":" + postgresql__port)
if (postgresql__server | d() and postgresql__server)
else "main" }}'
database: '{{ postgresql__default_database }}'
- postgresql__user_clusters
Custom user/cluster mappings stored in
/etc/postgresql-common/user_clusters
. See postgresql__user_clusters
for more details.
postgresql__user_clusters: []
PostgreSQL roles and databases
- postgresql__roles
List of PostgreSQL roles, specified as YAML dicts. See postgresql__roles for more details.
postgresql__roles: []
- postgresql__dependent_roles
List of PostgreSQL roles, specified as YAML dicts by other Ansible roles via dependency variables. See postgresql__roles for more details.
postgresql__dependent_roles: []
- postgresql__groups
List of PostgreSQL role groups, specified as YAML dicts. See postgresql__groups for more details.
postgresql__groups: []
- postgresql__dependent_groups
List of PostgreSQL role groups, specified as YAML dicts by other roles via dependency variables. See postgresql__groups for more details.
postgresql__dependent_groups: []
- postgresql__databases
List of PostgreSQL databases, specified as YAML dicts. See postgresql__databases for more details.
postgresql__databases: []
- postgresql__dependent_databases
List of PostgreSQL databases, specified as a YAML dicts, defined by other roles via dependency variables. See postgresql__databases for more details.
postgresql__dependent_databases: []
- postgresql__privileges
List of PostgreSQL privileges, specified as YAML dicts. See postgresql__privileges for more details.
postgresql__privileges: []
- postgresql__dependent_privileges
List of PostgreSQL privileges, specified as a YAML dicts, defined by other roles via dependency variables. See postgresql__privileges for more details.
postgresql__dependent_privileges: []
- postgresql__extensions
List of PostgreSQL extensions enabled in specific databases, each extension specified as a YAML dict. See postgresql__extensions for more details.
postgresql__extensions: []
- postgresql__dependent_extensions
List of PostgreSQL extensions enabled in specific databases, each extension specified as a YAML dict. This list can be used by other roles via dependency variables. See postgresql__extensions for more details.
postgresql__dependent_extensions: []
- postgresql__pgpass
List of role/password mappings stored in user directories in ~/.pgpass
configuration file. See postgresql__pgpass for more details.
postgresql__pgpass: []
- postgresql__dependent_pgpass
List of role/password mappings stored in user directories in ~/.pgpass
configuration file, defined by other roles via dependency variables. See
postgresql__pgpass for more details.
postgresql__dependent_pgpass: []
Configuration for other Ansible roles
- postgresql__keyring__dependent_apt_keys
Configuration for the debops.keyring Ansible role.
postgresql__keyring__dependent_apt_keys:
- id: '{{ postgresql__upstream_key_id }}'
repo: '{{ postgresql__upstream_apt_repo }}'
state: '{{ "present" if postgresql__upstream | bool else "absent" }}'
- postgresql__python__dependent_packages3
Configuration for the debops.python Ansible role.
postgresql__python__dependent_packages3:
- 'python3-psycopg2'
- postgresql__python__dependent_packages2
Configuration for the debops.python Ansible role.
postgresql__python__dependent_packages2:
- 'python-psycopg2'