50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# Installation et configuration de Postgresql
|
|
|
|
[TOC]
|
|
|
|
## Documentation
|
|
|
|
### Postgresql :
|
|
* [Postgresql Official Documentation](https://www.postgresql.org/docs/) (EN)
|
|
* [Postgresql Documentation Officielle](https://docs.postgresql.fr/) (FR)
|
|
|
|
### Modules Ansible :
|
|
* [Ansible Galaxy : Postgresql](https://galaxy.ansible.com/ui/repo/published/community/postgresql/) (EN)
|
|
|
|
## Configuration
|
|
|
|
### Variables
|
|
* postgresql_monitoring_(user/password) : Identifiants liés à la supervision et à pmm.
|
|
* postgresql_admin_role_attr_flags : Liste des rôles qu'on souhaite attribuer aux administrateurs. Défaut : CREATEDB,CREATEROLE,NOSUPERUSER.
|
|
* postgresql_pmm_server : Adresse du serveur PMM.
|
|
* postgresql_pmm_server_(username/password) : Identifiants utilisés pour se connecter au serveur PMM.
|
|
* postgresql_pmm_client_(username/password) : Identifiants utilisés pour se connecter au serveur Postgresql local.
|
|
* postgresql_users_networks : Liste des réseaux qui seront ajoutés au fichier pg_hba.conf pour les utilisateurs.
|
|
* postgresql_databases : Liste des bases de données à créer.
|
|
```
|
|
postgresql_databases:
|
|
- name: "testsla"
|
|
(optional) owner: "testsla"
|
|
schemas:
|
|
- name: "testsla_schema"
|
|
owner: "testsla"
|
|
|
|
### Tags
|
|
* install : Installe Postgresql et ses dépendances.
|
|
* config : Gère les configurations, créer les utilisateurs et effectue les tâches liées au monitoring.
|
|
* backup : Installe les composants nécessaires aux sauvegardes.
|
|
* monitoring : Installe et configure pmm-client.
|
|
* databases : Créer les bases de données et leur schémas.
|
|
|
|
## Fonctionnement du rôle
|
|
|
|
### Basique pour comprendre Postgresql
|
|
|
|
#### Rôles, utilisateurs et permissions
|
|
* Un utilisateur correspond à un rôle avec un droit de login.
|
|
* Tous les utilisateurs font partie du groupe "public".
|
|
|
|
#### Base de données, schémas et tables.
|
|
* Une base de données contient un ou plusieurs schémas qui contiennent une ou plusieurs tables.
|
|
* Les bases de données contiennent par défaut un schema "public" sur lequel le groupe "public" a les droits de lecture.
|