Hay muchas herramientas utilizadas en la administración de bases de datos que ayudan a simplificar la gestión de bases de datos de código abierto. La ventaja de usar este tipo de aplicaciones es la disponibilidad de menús de varios objetos en la base de datos (como tablas, índices, secuencias, procedimientos, vistas, disparadores) para que no tenga que usar la línea de comando cuando usa un cliente de base de datos nativo. . Simplemente navegue por el menú y aparecerá inmediatamente en la pantalla.
En este blog, revisaremos una de las aplicaciones de administración de bases de datos de terceros para PostgreSQL llamada pgAdmin. Es una herramienta de administración de bases de datos de código abierto que es útil para la administración de bases de datos, desde la creación de tablas, índices, vistas, disparadores, procedimientos almacenados. Además de eso, pgAdmin también puede monitorear la base de datos en busca de información relacionada con sesiones, transacciones por segundo y bloqueo.
supervisión de pgAdmin
Hay algunas métricas en pgAdmin que pueden ser información valiosa para comprender el estado actual de la base de datos. Aquí están las métricas de visualización en pgAdmin.
En el Panel, puede monitorear la información relacionada con las conexiones entrantes a la base de datos a través de sesiones de servidor. La información relacionada con transacciones confirmadas, reversiones y transacciones totales por segundo en la base de datos se puede ver en la pantalla Transacciones por segundo. Tuplas en contiene información relacionada con el total de tuplas insertadas, actualizadas y eliminadas en la base de datos. Las tuplas de salida contienen información de tuplas que se devuelve al cliente desde la base de datos. Tuplas en sí es un término en PostgreSQL para filas. Metrics Block I/O contiene información relacionada con la información del disco, tanto el total de bloques leídos como los extraídos de la caché de la base de datos.
La actividad del servidor contiene información relacionada con las sesiones en ejecución, el bloqueo que se produce en la base de datos, las declaraciones preparadas de las consultas y la configuración de la base de datos. Como se muestra en la imagen de abajo.
En Propiedades, puede ver información relacionada con la base de datos PostgreSQL que se está accedido, como el nombre de la base de datos, el tipo de servidor, la versión de la base de datos, la dirección IP y el nombre de usuario utilizado.
El SQL contiene información relacionada con el script SQL generado creado a partir de un objeto seleccionado de la siguiente manera:
La información del objeto resaltado se muestra con gran detalle, ya que contiene un script para reconstruir un objeto.
En la pestaña Estadísticas, la información relacionada con las estadísticas recopiladas de cada objeto que se ejecuta en la base de datos se muestra en el menú.
Como ejemplo, la tabla anterior contiene información sobre Tuplas (insertadas, actualizadas , borrado, vivo, muerto). También hay información relacionada con el vacío y el autoanálisis.
Ejecuciones de vacío para limpiar las tuplas inactivas en la base de datos y recuperar el almacenamiento en disco utilizado por las tuplas inactivas. Mientras que las funciones de análisis automático generan estadísticas sobre los objetos para que el optimizador pueda determinar con precisión el plan de ejecución de una consulta.
Monitoreo de PostgreSQL de ClusterControl
ClusterControl tiene varias métricas relacionadas con la base de datos PostgreSQL que se pueden encontrar en las pestañas Descripción general, Nodos, Tablero, Monitor de consultas y Rendimiento. Las siguientes métricas se muestran en ClusterControl.
La sección Descripción general contiene información relacionada con las métricas de carga del servidor que van desde conexión, número de inserción, eliminación, actualización, compromiso y reversión y conexión. Además, hay información como los nodos de salud, el estado de replicación de la base de datos de PostgreSQL y también información relacionada con la utilización del servidor, como se muestra en la figura a continuación.
La pestaña Nodos proporciona información relacionada con gráficos en el lado del servidor a partir de la CPU Utilización, memoria, uso de disco, red y uso de intercambio.
El panel tiene varias opciones de métricas, como Descripción general del sistema, Descripción general del clúster y Descripción general de PostgreSQL. Para cada opción hay varias métricas que están relacionadas con la condición del sistema en ejecución. Por ejemplo, en las métricas de descripción general de PostgreSQL, hay información que va desde los promedios de carga de la base de datos, la memoria disponible y la transmisión y recepción de la red, como se muestra a continuación.
El monitor de consultas contiene información relacionada con la ejecución de consultas que se ejecutan en la base de datos. Podemos averiguar qué consultas se están ejecutando, cuánto dura el tiempo de ejecución, la información de la dirección del cliente de origen y el estado de la sesión. Además de eso, hay una función de Kill session, donde podemos terminar la sesión que hace que la base de datos experimente retrasos. La siguiente es la pantalla de Query Monitor:
Además de ejecutar consultas, también podemos ver información de estadísticas de consultas, comenzando desde Acceso por exploración secuencial o de índice, Estadísticas de E/S de tabla, Estadísticas de E/S de índice, Tamaño de la base de datos, Las 10 tablas más grandes.
La pestaña Rendimiento contiene información relacionada con las variables de la base de datos y el valor que se está ejecutando actualmente, además de que hay un Asesor para proporcionar información relacionada con el seguimiento de la advertencia que ocurrió.
El crecimiento de las bases de datos y las tablas también se puede monitorear en el menú Crecimiento de la base de datos, puede predecir las necesidades de almacenamiento u otras acciones que se realizarán analizando las métricas del crecimiento de estas bases de datos y tablas.
Tareas de administración de PostgreSQL con pgAdmin
pgAdmin tiene varias funciones para la administración de la base de datos y los objetos que se encuentran en la base de datos, desde la creación de tablas, índices, usuarios y espacios de tablas. Las diversas funciones de pgAdmin son muy útiles tanto para el desarrollador como para el administrador de bases de datos, ya que facilitan mucho la administración de los objetos de la base de datos. A continuación se muestra la apariencia del árbol de menús en pgAdmin.
Simplemente puede hacer clic con el botón derecho en el objeto que desea resaltar y luego habrá acciones que se pueden hacer desde ese objeto. Por ejemplo, al resaltar Base de datos, puede crear una nueva base de datos como esta:
Habrá un cuadro de diálogo para completar la información del nombre de la base de datos, el propietario de la base de datos que se creará, la codificación que se utilizará, el espacio de tabla que utilizará la base de datos, acceso de seguridad a la base de datos.
A qué usuarios tienen derecho de acceso y qué privilegios se otorgarán.
Tareas de administración de PostgreSQL con ClusterControl
ClusterControl también puede crear usuarios y privilegios que se otorgarán a la Administración de usuarios como se muestra en la siguiente figura.
Con ClusterControl puede implementar bases de datos PostgreSQL de alta disponibilidad. Administrar su PostgreSQL es tan fácil como hacer clic en el menú en el tablero. Hay algunas funciones para administrar su PostgreSQL en el lado del clúster, como Agregar equilibrador de carga, Agregar esclavo de replicación, Habilitar/deshabilitar la recuperación del clúster y la recuperación del nodo, como se muestra a continuación.
También puede crear un nuevo clúster de PostgreSQL y hacer que se replique desde el clúster, utilizando el elemento de menú Create Slave Cluster. La replicación de clúster a clúster es una nueva función proporcionada por ClusterControl.
En el lado del nodo, hay varias tareas administrativas de la base de datos que puede realizar, como Reiniciar host, Reiniciar nodo, Detener nodo, Promover esclavo, Detener esclavo. Puede acceder a sus hosts de forma remota a través de la Consola SSH.
Rebuild Replication Slave es una característica interesante para reparar automáticamente los servidores esclavos que se rompieron más allá reparar. Detiene el esclavo, borra su contenido y transmite una copia de seguridad nueva desde el servidor maestro. Una vez que se aplica la copia de seguridad, se reanuda la replicación para que pueda ponerse al día con el maestro nuevamente. Todo esto con solo un clic.
También hay una función para visualizar el estado actual de su arquitectura de topología PostgreSQL en ClusterControl.
Proporciona, de un vistazo rápido, información útil sobre el clúster de PostgreSQL actual, como como la latencia entre los nodos, el tiempo de actividad de la base de datos, la versión de la base de datos que utiliza, el estado de sincronización, el retraso de la replicación.
También puede cambiar la configuración relacionada con los parámetros de la base de datos y la dirección IP de ACL que tiene derecho a acceder a la base de datos en el menú Configuración.
La ejecución de un entorno de base de datos distribuida generalmente requiere algún tipo de equilibrio de carga y control de tráfico , ya que hay múltiples instancias de base de datos y las aplicaciones no realizarían un seguimiento de cuál es el maestro grabable y cuáles son los esclavos de solo lectura. ClusterControl le permite integrar HAProxy para este propósito. HAProxy puede estar altamente disponible usando Keepalived, de modo que las aplicaciones puedan conectarse usando una dirección IP virtual que flota a otra instancia en caso de que el balanceador de carga principal de HAProxy se caiga.
ClusterControl tiene otras funciones, como informes operativos, que brindan análisis sobre el uso del servidor, el tiempo de actividad, la seguridad y la capacidad semanal o mensualmente. pgAdmin es excelente para manipular objetos en la base de datos, mientras que ClusterControl está más enfocado en operar el sistema y mantenerlo.