Pour plus de contenu, connectez-vous !
Skip to main content

Postgresql - Paramétrage (tuning)

Base de fonctionnement de Postgresql

Postgresql fonctionne avec deux répertoires fondamentaux :

  • /etc/postgresql/__VERSION__/main : Répertoire de paramétrage
  • /var/lib/postgresql/10/main : répertoire qui contient les bases de données

Côté configuration, la liste des fichiers principaux est la suivante :

Nom

Description

Usage dans GRAP
conf.d/

Répertoire de fichier de configuration, appelé par défaut dans le fichier postgresql.conf (clé include_dir).

Tous les fichiers finissant par .conf, présents dans ce dossier seront chargés au démarrage.

Dépôt d'un fichier grap.conf par ansible
environment ? valeur par défaut
pg_ctl.conf ? valeur par défaut
pg_hba.conf Indique comment l'authentification a lieu valeur par défaut
pg_ident.conf Mapping d'utilisateur valeur par défaut
postgresql.conf Fichier principal de configuration Postgresql valeur par défaut
start.conf ? valeur par défaut

référence : 

Configuration d'un nouveau serveur

Récupérerration lesdes donnéescaractéristiques systèmes liées audu serveur

 cible

Information Requête
Version majeure de postgresql sudo su postgres -c "psql -c 'SELECT version()';"
Mémoire totale disponible sur le serveur free -m
Mémoire allouée à un worker Odoo

vim /opt/grap-voodoo/etc/openerp.cfg

clé limit_memory_hard dans le fichier divisé par 1024*1024

Nombre de workers de Odoo

vim /opt/grap-voodoo/etc/openerp.cfg

clé max_cron_threads (pour les workers de cron, ou 1 si nul)

clé workers (pour les workers pour les utilisateurs, ou 1 si nul)

mémoire allouée à Odoo

mémoire alloué à un worker * nombre de workers

Nombre de CPU

nproc

Nombre de connexion maximum

~ (Nb activités du GRAP * 3) + Nb membres équipe interne

 Génération du fichier de configuration postgresql

  • aller sur https://pgtune.leopard.in.ua
  • Renseigner les données suivantes précédentes en mettant "DB Type" à la valeur "Web application"
  • Ouvrir le fichier /config/postgresql/cfg_postgresql_{{ansible_hostname}}.cfg
  • Y copier le contenu du fichier
  • Paramétrer le fichier host.ini pour cibler le ou les serveurs cibles
  • Executer ansible-playbook -i host.ini ./playbook_of_tasks/p_postgresql_install.yml

Référence :

requêtes en lecture utiles

Requête Description
SELECT
tablename,
pg_total_relation_size(schemaname || '.' || tablename),
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename))
FROM pg_tables order by 2 desc;
Tables et tailles associées, classées par taille décroissantes.
SHOW ALL; Affiche les paramètres de configuration actuellement actif en production.