dimanche, 9 octobre 2022
Par footcow le dimanche, 9 octobre 2022, 16:55
Le query parallelism est une fonctionnalité intégrée dans PostgreSQL depuis la version 9.6 qui permet de diviser une requête complexe en plusieurs tâches parallèles qui sont exécutées simultanément. Cette fonctionnalité permet d'améliorer les performances en répartissant la charge de travail sur plusieurs cœurs de processeur.
Lire la suite...
aucun rétrolien
dimanche, 25 septembre 2022
Par footcow le dimanche, 25 septembre 2022, 19:30
PostgreSQL intègre depuis la version 9.4 un système de réplication logique, elle l'a rendu accessible à tous véritablement depuis la version 10 avec les fonctions de publication et d'abonnement. Mais avant tout, qu'est-ce que la réplication logique ?
Lire la suite...
aucun rétrolien
dimanche, 8 mai 2022
Par footcow le dimanche, 8 mai 2022, 22:46
Les CTE sont un moyen pratique de définir des sous-requêtes réutilisables dans une requête principale. Les CTE sont similaires aux vues, mais contrairement aux vues, elles ne sont pas stockées en permanence dans la base de données. Au lieu de cela, elles sont définies dans la requête elle-même et ne peuvent être référencées que dans la requête qui les contient.
Lire la suite...
aucun rétrolien
dimanche, 21 novembre 2021
Par footcow le dimanche, 21 novembre 2021, 12:01
Toujours dans les nouvelles syntaxes apparues dans la release 14 de PostgreSQL autour de la récursivité et après avoir vu la clause CYCLE dans un précédent article, nous allons étudier la clause SEARCH
.
Lire la suite...
aucun rétrolien
jeudi, 11 novembre 2021
Par footcow le jeudi, 11 novembre 2021, 20:54
Tout d'abord, voyons ce qu'est un SELECT
récursif. Il s'agit d'une requête qui se réfère à elle-même dans la clause FROM
pour produire une série de résultats itératifs. Cette fonctionnalité est souvent utilisée pour parcourir des structures de données hiérarchiques telles que les arbres.
Lire la suite...
aucun rétrolien
vendredi, 24 septembre 2021
Par footcow le vendredi, 24 septembre 2021, 21:15
Le LATERAL JOIN
est une extension puissante de la clause JOIN
standard dans PostgreSQL. Contrairement à un JOIN
normal, qui combine les lignes de deux tables en fonction d'une condition de jointure, un LATERAL JOIN
permet de combiner les lignes d'une table avec les résultats d'une requête sur une autre table.
Lire la suite...
aucun rétrolien
dimanche, 17 mai 2020
Par footcow le dimanche, 17 mai 2020, 14:41
Cela ne vous est peut-être pas encore arrivé, ou vous lisez peut-être cet article pour juste chercher à comprendre ce que sont ces index INVALID car vous venez de les découvrir sur votre environnement.
Après de longues années d'utilisation de PostgreSQL je n'avais pas encore été confronté à ce phénomène. Il m'est apparu dans plusieurs cas de figure que nous allons rapidement détailler et surtout solutionner, enfin par les méthodes que j'ai pu trouver de mon côté.
Lire la suite...
aucun rétrolien
jeudi, 8 août 2019
Par footcow le jeudi, 8 août 2019, 16:20
PostgreSQL comme toutes les bases de données modernes, permet de lier une table à une autre pour valider son intégrité. Ainsi vous n'aurez pas une table qui s'appuie sur les données d'une autre table sans cohérence. Vous ne pourrez donc écrire dans le champ utilisé en référence d'une autre table que des données qui existent bien dans la table de référence.
Cette possibilité est pratique, rassurante et surtout preuve d'une conception cohérente du modèle de données.
Mais, elle n'est pas sans impacte sur la vitesse de la base de données si les bons index ne sont pas placés sur ces champs. PostgreSQL vous laisse cette liberté. Cela peut donc engendrer parfois des surprises, en particulier quand on efface des données de la table de référence. L'absence d'index va engendrer un ralentissement considérable au moment du DELETE et donc vous pénaliser.
Lire la suite...
aucun rétrolien
samedi, 3 novembre 2018
Par footcow le samedi, 3 novembre 2018, 16:45
Si vous possédez comme moi des tables contenant des dizaines de millions de données, et qui surtout pour certaines contiennent plus de 20 clefs étrangères, vouloir effacer quelques 4 millions de lignes peut engendrer quelques blocages sur votre production. Une solution consiste donc à effacer les données par blocs de tailles raisonnables pour ne pas bloquer l'accès en écriture à cette table.
Lire la suite...
aucun rétrolien
mercredi, 8 novembre 2017
Par footcow le mercredi, 8 novembre 2017, 10:08
Chaque release majeure de PostgreSQL (passage de la version 9.6 à la 10 par exemple) nécessite d'effectuer un dump et un restore de la base de données. Le travail n'est pas si fastidieux, mais nécessite quelques manipulations. Debian propose une migration plus simplifiée, destinées, à mon avis, aux bases de données de petites tailles, pour une migration rapide. Si vous travaillez sur des bases de plusieurs Go, cela fonctionnera, bien sur, mais l'interruption de service pourra être longue. Il existe d'autres moyens pour faire ce genre de chose avec des serveurs de réplication par exemple. Je vais donc vous décrire le process simple à mettre en place.
Lire la suite...
aucun rétrolien