GNU/Linux Magazine Hors-série N°
Numéro
44

Introduction, configuration et utilisation avancée de PostgreSQL 8.4

Temporalité
Septembre/Octobre 2009
Image v3
Introduction, configuration et utilisation avancée de PostgreSQL 8.4
Article mis en avant

Résumé

Plus d'un an après la sortie de la version 8.3, les développeurs de PostgreSQL ont sorti la version 8.4. Très exactement le 1er juillet. Les plus attentifs remarqueront que le planning initial a été largement débordé, de quatre mois au minimum. Ceci est dû à l'attente de deux patchs ajoutant des fonctionnalités très intéressantes à la réplication de PostgreSQL (esclave en lecture seule, réplication à la transaction près). Ces derniers n'étant manifestement pas prêts, il a été jugé préférable de les repousser à une prochaine version. Néanmoins, que cela ne vous refroidisse pas trop. La version 8.4 apporte un très grand nombre de nouvelles fonctionnalités, et des performances encore améliorées. Même si elles ont souvent pour cible l'administrateur, les utilisateurs et les développeurs y trouveront aussi leur compte.

Dans ce numéro...


Ce projet a réellement débuté en 1996 quand Bruce Momjian et Marc Fournier ont repris un certain nombre de patchs qui traînaient pour les intégrer dans ce qui s'appelait alors Postgres95. Leur collaboration a permis de mettre en place une plateforme (web, cvs, listes de discussion) et de s'assurer de la sortie de versions officielles.
Voici une sélection d’ouvrages.
Après la première édition l'année dernière à Prato, en Italie, le PGDay européen se tiendra cette année à Paris, les vendredi 6 et samedi 7 novembre 2009.
Installer PostgreSQL n'est pas compliqué. Que ce soit par les sources ou par un paquet, c'est généralement une question d'une dizaine de minutes. Nous allons voir comment l'installer à partir des sources, à partir du paquet Debian et à partir d'un paquet RPM.
PostgreSQL et son fichier de configuration de 17 Ko sur 503 lignes : rien de moins que 180 et quelques paramètres. Cela n'aide clairement pas un débutant à se lancer. Pourtant, il faut savoir que seule une grosse dizaine de paramètres sont essentiels à configurer. Le reste n'a pour cible que les cas très particuliers.
Nous allons construire une petite base et voir quelques rudiments : création d'une base, création de quelques tables, insertion de données, sauvegarde. Le minimum pour savoir comment débuter.
Les programmes de pooling de connexions ont un but simple : supprimer le temps de connexion pour améliorer la rapidité des programmes se connectant très souvent et n'exécutant que peu de requêtes pendant une même connexion. C'est principalement le cas des applications web. Une page PHP va généralement exécuter peu de requêtes tout en étant fréquemment sollicitée. Dans ce cas, le temps de la connexion devient un facteur limitant, surtout pour les applications web devant gérer un très grand nombre d'utilisateurs (et donc de connexions). PostgreSQL dispose de deux solutions. La première est pgPool-II.
pgBouncer est un autre pooler de connexions. Contrairement à pgPool-II, il se contente d'être ça. Par contre, il va proposer des options uniques, comme une option permettant de préciser le moment où on souhaite changer de connexions. Cela ne sera pas forcément une connexion unique pour une session. Cela pourra être une connexion unique par transaction ou par instruction. Une option unique en son genre, mais qui a ses propres limitations.
Toutes les données modifiées dans PostgreSQL sont tout d'abord stockées dans les journaux de transactions. Une solution particulièrement simple pour la réplication revient donc à archiver les journaux de transactions et à les rejouer sur un serveur distant.
Il existe en gros trois façons de répliquer une base de données : répliquer les changements des fichiers (c'est ce que propose le Log Shipping, ainsi que DRBD), répliquer les instructions (c'est ce que propose pgpool) et répliquer les changements de données. Ce dernier cas est proposé par trois outils, dont Slony.
Londiste est un autre système de réplication asynchrone basé sur les triggers. Son installation est un peu particulière, mais pas désagréable du tout. Elle est même bien plus simple que l'installation de Slony. Créé par Skype en Python pour ses besoins propres, il est disponible depuis peu de temps, mais progresse bien et mérite sa place dans ce hors-série.
Un moyen extrêmement simple, voire simpliste diront certains, de faire de la réplication est d'envoyer toutes les requêtes à tous les serveurs en réplication. Évidemment, cela donnera lieu à des limitations assez fortes, mais le résultat peut être intéressant.
Ce hors-série nous a permis de présenter un certain nombre de solutions de pooling de connexions, de réplication... bref, de la haute disponibilité sur PostgreSQL. Cet article va faire le tour de tous les systèmes de pooling et de réplication que nous connaissons.

Magazines précédents

Electronique, embarqué et hacks
GNU/Linux-Magazine Hors-série N°43
Electronique, embarqué et hacks
Supervision et surveillance
GNU/Linux-Magazine Hors-série N°42
Supervision et surveillance
Configurez et optimisez votre firewall
GNU/Linux-Magazine Hors-série N°41
Configurez et optimisez votre firewall
Explorez les richesses du langage Python
GNU/Linux-Magazine Hors-série N°40
Explorez les richesses du langage Python

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Body