skoneka.anxs-postgresql
ANXS - PostgreSQL 
¡Se necesita ayuda! Si puedes y estás dispuesto a ayudar a mantener este rol de Ansible, por favor abre un problema en GitHub. Muchas personas parecen usar este rol y nosotros (obviamente) necesitamos asistencia. 💖
Rol de Ansible que instala y configura PostgreSQL, extensiones, bases de datos y usuarios.
Instalación
Esto ha sido probado en Ansible 2.4.0 y versiones superiores.
Para instalar:
ansible-galaxy install ANXS.postgresql
Dependencias
- ANXS.monit (Galaxy/GH) si deseas protección de monitoreo (en ese caso, debes establecer
monit_protection: true)
Matriz de compatibilidad
| Distribución / PostgreSQL | <= 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 |
|---|---|---|---|---|---|---|---|
| Ubuntu 14.04 | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| Ubuntu 16.04 | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| Debian 8.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| Debian 9.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| CentOS 6.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| CentOS 7.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
| Fedora más reciente | :no_entry: | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
- :white_check_mark: - probado, funciona bien
- :grey_question: - funcionará en el futuro (ayuda si puedes)
- :interrobang: - puede funcionar, no probado
- :no_entry: - PostgreSQL ha llegado al final de su vida útil
Variables
# Configuración básica
postgresql_version: 9.6
postgresql_encoding: "UTF-8"
postgresql_locale: "en_US.UTF-8"
postgresql_ctype: "en_US.UTF-8"
postgresql_admin_user: "postgres"
postgresql_default_auth_method: "trust"
postgresql_service_enabled: false # debería estar habilitado el servicio, el valor por defecto es true
postgresql_cluster_name: "main"
postgresql_cluster_reset: false
# Lista de bases de datos a crear (opcional)
# Nota: para más flexibilidad con extensiones usa la configuración postgresql_database_extensions.
postgresql_databases:
- name: foobar
owner: baz # opcional; especifica el propietario de la base de datos
hstore: yes # bandera para instalar la extensión hstore en esta base de datos (sí/no)
uuid_ossp: yes # bandera para instalar la extensión uuid-ossp en esta base de datos (sí/no)
citext: yes # bandera para instalar la extensión citext en esta base de datos (sí/no)
encoding: "UTF-8" # anular la variable global {{ postgresql_encoding }} por base de datos
lc_collate: "en_GB.UTF-8" # anular la variable global {{ postgresql_locale }} por base de datos
lc_ctype: "en_GB.UTF-8" # anular la variable global {{ postgresql_ctype }} por base de datos
# Lista de extensiones de base de datos a crear (opcional)
postgresql_database_extensions:
- db: foobar
extensions:
- hstore
- citext
# Lista de usuarios a crear (opcional)
postgresql_users:
- name: baz
pass: pass
encrypted: no # indica si la contraseña ya está cifrada.
# Lista de esquemas a crear (opcional)
postgresql_schemas:
- database: foobar # nombre de la base de datos
schema: acme # nombre del esquema
state: present
- database: foobar # nombre de la base de datos
schema: acme_baz # nombre del esquema
owner: baz # nombre del propietario
state: present
# Lista de privilegios de usuario a aplicar (opcional)
postgresql_user_privileges:
- name: baz # nombre de usuario
db: foobar # base de datos
priv: "ALL" # formato de cadena de privilegio: ejemplo: INSERT,UPDATE/table:SELECT/anothertable:ALL
role_attr_flags: "CREATEDB" # banderas de atributos de rol
Hay muchas más configuraciones que puedes establecer, que puedes encontrar en el defaults/main.yml.
Pruebas
Este proyecto viene con un Vagrantfile, que es una forma rápida y fácil de probar cambios en el rol, inícialo con vagrant up.
Consulta la documentación de vagrant para configurar vagrant.
Una vez que tu VM esté lista, puedes reprovisionarla utilizando vagrant provision, o ansible-playbook tests/playbook.yml -i vagrant-inventory.
Si deseas experimentar con el play de prueba, consulta tests/playbook.yml y cambia las variables en tests/vars.yml.
Si estás contribuyendo, primero prueba tus cambios en el entorno de vagrant (usando la distribución específica), y si es posible, asegúrate de que tu cambio esté cubierto en las pruebas que se encuentran en .travis.yml.
Licencia
Licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Agradecimientos
Creador:
Mantenedores:
Principales Contribuyentes:
Comentarios, informes de errores, solicitudes, ...
¡Son bienvenidos!
Install and configure PostgreSQL, dependencies, extensions, databases and users.
ansible-galaxy install skoneka.anxs-postgresql