PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Alternatives à pgAdmin - ClusterControl de l'interface graphique de gestion de base de données PostgreSQL

Il existe de nombreux outils utilisés dans l'administration de base de données qui aident à simplifier la gestion des bases de données open source. L'avantage d'utiliser ces types d'applications est la disponibilité des menus de divers objets de la base de données (tels que des tables, des index, des séquences, des procédures, des vues, des déclencheurs) afin que vous n'ayez pas à utiliser la ligne de commande lorsque vous utilisez un client de base de données natif . Il vous suffit de parcourir le menu et il apparaîtra immédiatement à l'écran.

Dans ce blog, nous passerons en revue l'une des applications tierces de gestion de base de données pour PostgreSQL appelée pgAdmin. Il s'agit d'un outil de gestion de base de données open source utile pour l'administration de bases de données, allant de la création de tables, d'index, de vues, de déclencheurs et de procédures stockées. En outre, pgAdmin peut également surveiller la base de données à la recherche d'informations relatives aux sessions, aux transactions par seconde et au verrouillage.

Surveillance pgAdmin

Certaines métriques dans pgAdmin peuvent être des informations précieuses pour comprendre l'état actuel de la base de données. Voici les métriques d'affichage sur pgAdmin.

Dans le tableau de bord, vous pouvez surveiller les informations relatives aux connexions entrantes à la base de données par le biais de sessions de serveur. Les informations relatives aux transactions de validation, aux annulations et au nombre total de transactions par seconde dans la base de données peuvent être consultées dans l'écran Transactions par seconde. Tuples in contient des informations relatives au nombre total de tuples insérés, mis à jour et supprimés dans la base de données. Les tuples sortants contiennent des informations sur les tuples qui sont renvoyées au client à partir de la base de données. Tuples lui-même est un terme dans PostgreSQL pour les lignes. Metrics Block I/O contient des informations relatives aux informations sur le disque, à la fois le nombre total de blocs lus et extraits du cache de la base de données.

L'activité du serveur contient des informations relatives aux sessions en cours d'exécution, au verrouillage qui se produit dans la base de données, aux instructions préparées à partir des requêtes et à la configuration de la base de données. Comme le montre l'image ci-dessous.

Dans Propriétés, vous pouvez voir des informations relatives à la base de données PostgreSQL en cours consulté, tels que le nom de la base de données, le type de serveur, la version de la base de données, l'adresse IP et le nom d'utilisateur utilisé.

Le SQL contient des informations relatives au script SQL généré créé à partir d'un objet sélectionné comme suit :

Les informations de l'objet en surbrillance sont affichées en détail, car elles contiennent un script pour reconstruire un objet.

Dans l'onglet Statistiques, les informations relatives aux statistiques collectées à partir de chaque objet exécuté dans la base de données sont affichées dans le menu.

A titre d'exemple, le tableau ci-dessus contient des informations concernant les tuples (insérés, mis à jour , supprimé, vivant, mort). Il existe également des informations relatives au vide et à l'analyse automatique.

Vacuum fonctionne pour nettoyer les tuples morts dans la base de données et récupérer le stockage sur disque utilisé par les tuples morts. Tandis que les fonctions d'analyse automatique génèrent des statistiques sur les objets afin que l'optimiseur puisse déterminer avec précision le plan d'exécution d'une requête.

Surveillance PostgreSQL de ClusterControl

ClusterControl dispose de diverses métriques liées à la base de données PostgreSQL qui peuvent être trouvées dans les onglets Présentation, Nœuds, Tableau de bord, Moniteur de requête et Performances. Les métriques suivantes s'affichent dans ClusterControl.

La section Présentation contient des informations relatives aux mesures de charge du serveur allant de la connexion au nombre d'insertion, de suppression, de mise à jour, de validation et de restauration et de connexion. En outre, il existe des informations telles que les nœuds de santé, l'état de réplication de la base de données PostgreSQL, ainsi que des informations relatives à l'utilisation du serveur, comme indiqué dans la figure ci-dessous.

L'onglet Nœuds fournit des informations relatives aux graphiques côté serveur à partir du CPU Utilisation, mémoire, utilisation du disque, réseau et utilisation de l'échange.

Le tableau de bord propose plusieurs options de métriques telles que la vue d'ensemble du système, la vue d'ensemble du cluster et Présentation de PostgreSQL. Pour chaque option, il existe diverses mesures liées à l'état du système en cours d'exécution. Par exemple, dans les métriques de présentation de PostgreSQL, il y a des informations allant des moyennes de charge de la base de données, de la mémoire disponible et de la transmission et de la réception du réseau, comme indiqué ci-dessous.

Le moniteur de requêtes contient des informations relatives à l'exécution de requêtes exécutées sur la base de données. Nous pouvons savoir quelles requêtes sont en cours d'exécution, combien de temps dure l'exécution, les informations d'adresse du client source et l'état de la session. En plus de cela, il existe une fonctionnalité de session Kill, où nous pouvons mettre fin à la session qui entraîne des retards dans la base de données. Voici l'affichage de Query Monitor :  

En plus d'exécuter des requêtes, nous pouvons également afficher les informations sur les statistiques de requête, en commençant à partir de Accès par balayage séquentiel ou d'index, Statistiques d'E/S de table, Statistiques d'E/S d'index, Taille de la base de données, Top 10 des plus grandes tables.

L'onglet Performances contient des informations relatives aux variables de la base de données et à la valeur en cours d'exécution, outre le fait qu'il existe un conseiller pour fournir des informations relatives au suivi de l'avertissement qui s'est produit.

La croissance des bases de données et des tables peut également être surveillée dans le menu DB Growth, vous pouvez prévoir les besoins de stockage ou d'autres actions qui seront effectuées en analysant les métriques de la croissance de ces bases de données et tables.

Tâches d'administration PostgreSQL avec pgAdmin

pgAdmin dispose de diverses fonctionnalités pour l'administration de la base de données et des objets qui se trouvent dans la base de données, allant de la création de tables, d'index, d'utilisateurs et d'espaces de table. Les différentes fonctionnalités de pgAdmin sont très utiles à la fois pour le développeur et pour le DBA, car elles facilitent la gestion des objets de la base de données. Voici l'apparence de l'arborescence de menu dans pgAdmin.

Vous pouvez simplement faire un clic droit sur l'objet à mettre en surbrillance, puis là seront des actions qui peuvent être faites à partir de cet objet. Par exemple, en mettant en surbrillance Base de données, vous pouvez créer une nouvelle base de données comme celle-ci :

Il y aura une boîte de dialogue pour remplir les informations sur le nom de la base de données, le propriétaire de la base de données à créer, l'encodage qui sera utilisé, le tablespace qui sera utilisé par la base de données, la sécurité d'accès à la base de données.

À quoi les utilisateurs ont le droit d'accéder et quels privilèges seront accordés.

Tâches d'administration PostgreSQL avec ClusterControl

ClusterControl peut également créer des utilisateurs et des privilèges qui seront accordés à la gestion des utilisateurs, comme indiqué dans la figure suivante.

Avec ClusterControl, vous pouvez déployer des bases de données PostgreSQL hautement disponibles. La gestion de votre PostgreSQL est aussi simple que de cliquer sur le menu du tableau de bord. Il existe certaines fonctionnalités pour administrer votre PostgreSQL côté cluster, telles que l'ajout d'un équilibreur de charge, l'ajout d'un esclave de réplication, l'activation/la désactivation de la récupération de cluster et la récupération de nœud, comme indiqué ci-dessous.

Vous pouvez également créer un nouveau cluster PostgreSQL et le répliquer à partir du cluster, à l'aide de l'élément de menu Créer un cluster esclave. La réplication de cluster à cluster est une nouvelle fonctionnalité fournie par ClusterControl.

Du côté du nœud, vous pouvez effectuer plusieurs tâches d'administration de base de données, telles que Redémarrer l'hôte, Redémarrer le nœud, Arrêter le nœud, Promouvoir l'esclave, Arrêter l'esclave. Vous pouvez accéder à vos hôtes à distance via la console SSH.

Reconstruire l'esclave de réplication est une fonctionnalité intéressante pour réparer automatiquement les serveurs esclaves qui ont cassé au-delà réparation. Il arrête l'esclave, efface son contenu et diffuse une nouvelle sauvegarde à partir du serveur maître. Une fois la sauvegarde appliquée, la réplication reprend afin qu'elle puisse à nouveau rattraper le maître. Tout cela en un seul clic.

Il existe également une fonctionnalité permettant de visualiser l'état actuel de votre architecture de topologie PostgreSQL dans ClusterControl.

Il fournit, en un coup d'œil, des informations utiles sur le cluster PostgreSQL actuel tel que comme la latence entre les nœuds, la disponibilité de la base de données, la version de la base de données que vous utilisez, l'état de synchronisation, le décalage de réplication.

Vous pouvez également modifier la configuration liée aux paramètres de la base de données et à l'adresse IP ACL qui a le droit d'accéder à la base de données dans le menu Configuration.

L'exécution d'un environnement de base de données distribuée nécessite généralement une sorte d'équilibrage de charge et de contrôle du trafic , car il existe plusieurs instances de base de données et les applications ne sauraient pas lesquelles sont le maître inscriptible et lesquelles sont les esclaves en lecture seule. ClusterControl vous permet d'intégrer HAProxy à cet effet. HAProxy peut lui-même être rendu hautement disponible à l'aide de Keepalived, afin que les applications puissent se connecter à l'aide d'une adresse IP virtuelle flottante vers une autre instance en cas de panne de l'équilibreur de charge HAProxy principal.

ClusterControl possède d'autres fonctionnalités telles que des rapports opérationnels, qui fournissent des analyses sur l'utilisation, la disponibilité, la sécurité et la capacité du serveur sur une base hebdomadaire ou mensuelle. pgAdmin est excellent pour manipuler des objets dans la base de données, tandis que ClusterControl est plus destiné à faire fonctionner le système et à le maintenir.