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