--- title: postgres type: docs --- [![Source Code](https://img.shields.io/badge/gitea-source%20code-blue?logo=gitea&logoColor=white)](https://gitea.rknet.org/ansible/xoxys.postgres) [![Build Status](https://img.shields.io/drone/build/ansible/xoxys.postgres?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/ansible/xoxys.postgres) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) Setup a [PostgreSQL](https://www.postgresql.org/) database server. PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. * [Default Variables](#default-variables) * [postgres_base_dir](#postgres-base-dir) * [postgres_clean_hba_file](#postgres-clean-hba-file) * [postgres_connection_addresses](#postgres-connection-addresses) * [postgres_connection_port](#postgres-connection-port) * [postgres_db](#postgres-db) * [postgres_dbs](#postgres-dbs) * [postgres_dbs_extra](#postgres-dbs-extra) * [postgres_group](#postgres-group) * [postgres_hba_entries](#postgres-hba-entries) * [postgres_hba_entries_extra](#postgres-hba-entries-extra) * [postgres_log_destination](#postgres-log-destination) * [postgres_log_directory](#postgres-log-directory) * [postgres_log_filename](#postgres-log-filename) * [postgres_log_rotation_age](#postgres-log-rotation-age) * [postgres_log_rotation_size](#postgres-log-rotation-size) * [postgres_password_encryption](#postgres-password-encryption) * [postgres_repository_enabled](#postgres-repository-enabled) * [postgres_repository_filename](#postgres-repository-filename) * [postgres_socket_directories](#postgres-socket-directories) * [postgres_tls_cert_filename](#postgres-tls-cert-filename) * [postgres_tls_cert_source](#postgres-tls-cert-source) * [postgres_tls_enabled](#postgres-tls-enabled) * [postgres_tls_key_filename](#postgres-tls-key-filename) * [postgres_tls_key_source](#postgres-tls-key-source) * [postgres_user](#postgres-user) * [postgres_users](#postgres-users) * [postgres_users_extra](#postgres-users-extra) * [postgres_version](#postgres-version) * [Dependencies](#dependencies) --- ## Default Variables ### postgres_base_dir #### Default value ```YAML postgres_base_dir: _osdefault_ ``` ### postgres_clean_hba_file #### Default value ```YAML postgres_clean_hba_file: true ``` ### postgres_connection_addresses #### Default value ```YAML postgres_connection_addresses: - localhost ``` ### postgres_connection_port #### Default value ```YAML postgres_connection_port: 5432 ``` ### postgres_db #### Example usage ```YAML postgres_db: - name: "my_app" lc_collate: "en_US.UTF-8" lc_ctype: "en_US.UTF-8" encoding: "UTF-8" template: "template0" login_host: "localhost" login_password: "_omit_" login_user: "{{ postgres_user }}" login_unix_socket: "_omit_" port: "_omit_" owner: "_omit_" state: "present" ``` ### postgres_dbs #### Default value ```YAML postgres_dbs: [] ``` ### postgres_dbs_extra #### Default value ```YAML postgres_dbs_extra: [] ``` ### postgres_group #### Default value ```YAML postgres_group: postgres ``` ### postgres_hba_entries #### Default value ```YAML postgres_hba_entries: - contype: local databases: - all users: - all auth_method: trust - contype: host databases: - all users: - all address: 127.0.0.1/32 auth_method: md5 - contype: host databases: - all users: - all address: ::1/128 auth_method: md5 ``` ### postgres_hba_entries_extra #### Default value ```YAML postgres_hba_entries_extra: [] ``` ### postgres_log_destination #### Default value ```YAML postgres_log_destination: - stderr ``` ### postgres_log_directory #### Default value ```YAML postgres_log_directory: log ``` ### postgres_log_filename #### Default value ```YAML postgres_log_filename: postgresql.log ``` ### postgres_log_rotation_age #### Default value ```YAML postgres_log_rotation_age: 1d ``` ### postgres_log_rotation_size #### Default value ```YAML postgres_log_rotation_size: 0 ``` ### postgres_password_encryption #### Default value ```YAML postgres_password_encryption: md5 ``` ### postgres_repository_enabled #### Default value ```YAML postgres_repository_enabled: false ``` ### postgres_repository_filename #### Default value ```YAML postgres_repository_filename: Postgresql-{{ postgres_version | regex_replace('\.') }} ``` ### postgres_socket_directories #### Default value ```YAML postgres_socket_directories: - /var/run/postgresql ``` ### postgres_tls_cert_filename #### Default value ```YAML postgres_tls_cert_filename: mycert.pem ``` ### postgres_tls_cert_source #### Default value ```YAML postgres_tls_cert_source: mycert.pem ``` ### postgres_tls_enabled #### Default value ```YAML postgres_tls_enabled: false ``` ### postgres_tls_key_filename #### Default value ```YAML postgres_tls_key_filename: mykey.pem ``` ### postgres_tls_key_source #### Default value ```YAML postgres_tls_key_source: mykey.pem ``` ### postgres_user #### Default value ```YAML postgres_user: postgres ``` ### postgres_users #### Default value ```YAML postgres_users: [] ``` #### Example usage ```YAML postgres_users: - name: jdoe #required; the rest are optional password: # defaults to not set encrypted: # defaults to 'yes' priv: # defaults to not set role_attr_flags: # defaults to not set db: # defaults to not set login_host: # defaults to 'localhost' login_password: # defaults to not set login_user: # defaults to '{{ postgres_user }}' login_unix_socket: # defaults to 1st of postgres_socket_directories port: # defaults to not set state: # defaults to 'present' pam_user: # defaults to not set ``` ### postgres_users_extra #### Default value ```YAML postgres_users_extra: [] ``` ### postgres_version #### Default value ```YAML postgres_version: 10 ``` ## Dependencies None.