Différences entre les versions de « Postgresql »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 64 : | Ligne 64 : | ||
- wal_buffers > c’est l’équivalent du transactionlog. Il faut rehausser à 64 ou 128 Mo pour limiter le nombre de logs créé et géré et donc réduire la charge CPU | - wal_buffers > c’est l’équivalent du transactionlog. Il faut rehausser à 64 ou 128 Mo pour limiter le nombre de logs créé et géré et donc réduire la charge CPU | ||
</pre> | </pre> | ||
=== Reindexation & vaccum === | |||
https://wiki.blaxeen.com/index.php/Postgresql_reindexation | |||
[[Catégorie:Software]] | [[Catégorie:Software]] | ||
Version du 5 novembre 2019 à 15:55
Documentation générale sur postgresql (tiré de http://www.dj-j.net/waka/Linux:Administration_PostgreSQL)
Support de Cours postgresql_v8 + (tiré de http://sebastien.nameche.fr/supports/PostgreSQL_v20100130.pdf)
Configuration, mise en oeuvre de PostGreSQL et performances by BULL
Configuration
Exemple pour une configuration simple en local (/etc/postgres/pg_hba.conf) : Commenter toutes les entrées et ne conserver que : # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres ident local all all ident host all all 127.0.0.1/32 md5 host all all ::1/128 md5 #le fait d'avoir trust permet de se loguer avec le user en question en local sans rentrer de mot de passe #local all postgres trust Si les modifications apportees au fichier /etc/postgres/pg_hba.conf ne sont pas pris en compte, deux possibilités : - apporter les memes modifications dans le fichier /var/lib/postgres/data/pg_hba.conf - faire un symlink entre /etc/postgres/pg_hba.conf /var/lib/postgres/data/pg_hba.conf
Création et modification d'un user
[postgres@]#su postgres [postgres@]$ createuser Enter name of role to add: vision Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n [postgres@]$ psql UPDATE pg_shadow SET passwd = 'osK3twig2dgV' where usename = 'postgres' Si la commande ci dessus ne fonctionne (ce qui est le cas pour les version 9.x), faire un : ALTER USER root WITH PASSWORD '0Ltvv5gsvlCb'
Import de base
su postgres pg_restore -U asmdba -d asm dumppgsql_2012-04-10.sql # Ici on restore depuis le fichier dumppgsql_2012-04-10.sql dans la base asm avec le user asmdba (qui a été créé avec les droits suivant : createuser -sP asmdba && createdb -U asmdba -h localhost asm)
Synchronisation master / slave
Voir la documentation
Optimisation
- work_mem > à fortement réhausser + tester (tester a 64Mo pour voir) - effective_io_concurrency < à laisser voire réduire à 150/200 si on réhausse le cache global. (process interne à postgres), c'est la partie qui s'execute coté disk (io), donc la réduire augmente l’utilisation du cache et réduit l’utilisation disque - max_worker_processes > a fortement réhausser, c’est le nombre de requêtes que traite actuellement le service. La valeur actuelle (4) est trop basse, ça créé des queues sur les requetes (donc multiplication de process en idle) Passer à 12 par ex - shared_buffer > paramètre qui va de pair avec le max_worker_process, il faut le régler pour que le nombre de max_worker_process multipliés par la valeur en shared_buffer ne dépasse pas l’effective_cache_size. Le cache_size etant de 14.5Go, si on passe à 10 worker_process, il faudra que le shared_buffer ne dépasse pas 1.4Go - wal_buffers > c’est l’équivalent du transactionlog. Il faut rehausser à 64 ou 128 Mo pour limiter le nombre de logs créé et géré et donc réduire la charge CPU