xoxys.postgres/index.md
Robert Kaussow 8b826942e8 commit d370269692
Author: Robert Kaussow <mail@geeklabor.de>
Date:   Wed Jan 22 23:24:46 2020 +0100

    force run
2020-01-22 22:31:09 +00:00

325 lines
5.3 KiB
Markdown

---
title: postgres
type: docs
---
Setup PostgreSQL database
* [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.