From aa26e22f0b2672a9dc5b86df8efcdb3079ee0941 Mon Sep 17 00:00:00 2001 From: gcolpart Date: Sat, 27 Jan 2018 12:42:49 +0100 Subject: [PATCH] relecture --- HowtoPostgreSQL.md | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/HowtoPostgreSQL.md b/HowtoPostgreSQL.md index 70f2c6e9..2e0e3193 100644 --- a/HowtoPostgreSQL.md +++ b/HowtoPostgreSQL.md @@ -3,10 +3,10 @@ title: Howto PostgreSQL categories: databases ... -* Documentation : +* Documentation : * Rôle Ansible : -[PostgreSQL](https://www.postgresql.org/) est une base de données qui met l'accent sur le respect du standard SQL et la sécurité des données. +[PostgreSQL](https://www.postgresql.org/) est un système de gestion de base de données relationnelle et objet qui met l'accent sur le respect du standard SQL et la sécurité des données. ## Installation @@ -54,7 +54,7 @@ Puis réécupérer la clé GPG : On peut ainsi installer proprement PostgresSQL 10 - par exemple - en définissant les priorités via `/etc/apt/preferences.d/postgresql` : ~~~ -Package: postgresql-10 postgresql-client-common postgresql-common libpq5 +Package: postgresql postgresql-client-common postgresql-common libpq5 libdbd-pg-perl ptop Pin: release a=stretch-pgdg Pin-Priority: 999 ~~~ @@ -66,7 +66,7 @@ Puis : # pg_lsclusters Ver Cluster Port Status Owner Data directory Log file -10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log +10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log ~~~ ## Administration basique @@ -77,9 +77,13 @@ Ver Cluster Port Status Owner Data directory Log file # pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log +10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log ~~~ -### Lister les requêtes actives (PostgreSQL >= 9.2) +### Lister les requêtes actives + + +Pour PostgreSQL >= 9.2 : ~~~ # su - postgres @@ -90,7 +94,7 @@ postgres=# SELECT * FROM pg_stat_activity ORDER by query_start; postgres=# SELECT pid, datname, usename, client_addr, query_start, query FROM pg_stat_activity WHERE state='active' ORDER by query_start; ~~~ -### Lister les requêtes actives (PostgreSQL < 9.2) : +Pour PostgreSQL < 9.2 : ~~~ # su - postgres @@ -240,16 +244,11 @@ hostname:port:database:username:password Ce fichier doit être `-rw-------` (600). - - ## Optimisation -La configuration par défaut est fait pour s'adapter à toutes sortes de machines, elle n'est donc pas adapté en terme de performances. Nous allons voir ici quelques paramètres qui peuvent améliorer les performances de PostgreSQL. +La configuration par défaut est faite pour s'adapter à toutes sortes de machines, elle n'est donc pas adaptée en terme de performances. Nous allons voir ici quelques paramètres qui peuvent améliorer les performances de PostgreSQL. Vous pouvez utilisez le site [PgTune](http://pgtune.leopard.in.ua/) pour avoir une idée des paramètres à utiliser en fonction de vos ressources. -* **shared_buffers** : Ce paramètre détermine la quantité de mémoire - dédiée à PostgreSQL pour mettre en cache les données. Il est - recommandé de mettre **1/4 de la quantité de RAM total** de votre - machine. +* **shared_buffers** : Ce paramètre détermine la quantité de mémoire dédiée à PostgreSQL pour mettre en cache les données. Il est recommandé de mettre **1/4 de la quantité de RAM total** de votre machine. * **max_connections** : Détermine le nombre maximum de clients connectés simultanément. Ce paramètre est très important pour certains paramètres car les ressources mémoires qui sont ou seront allouées par client, il est donc suggérer d'utiliser le maximum de mémoire possible. work_mem x nb_clients = maxRAM. Éviter de dépasser les 300. Dans de tel cas il faut préférer l'utilisation d'un multiplexeur de connexions comme PgBouncer. @@ -269,8 +268,6 @@ La configuration par défaut est fait pour s'adapter à toutes sortes de machine * **random_page_cost** : coût d'accès aux disques : à mettre à **1.1** si vous avez un disque SSD ou **1.5** pour des disques durs SAS. -* Calculateur automatique : - ## Administration