2020-01-22 22:31:09 +00:00
---
title: postgres
type: docs
---
2020-06-04 13:21:56 +00:00
[![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 )](https://gitea.rknet.org/ansible/xoxys.postgres/src/branch/master/LICENSE)
2020-01-31 10:51:26 +00:00
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.
2020-01-22 22:31:09 +00:00
* [Default Variables ](#default-variables )
2020-05-25 21:09:56 +00:00
* [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 )
2020-01-22 22:31:09 +00:00
* [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:
2020-03-21 16:20:49 +00:00
- 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
2020-01-22 22:31:09 +00:00
```
### postgres_users_extra
#### Default value
```YAML
postgres_users_extra: []
```
### postgres_version
#### Default value
```YAML
postgres_version: 10
```
## Dependencies
None.