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'