La administración de bases de datos desde la línea de comandos viene con una curva de aprendizaje para aprovecharla al máximo.
La línea de comandos a veces puede ser ardua y la pantalla puede no ser óptima para lo que está haciendo.
Navegar a través de bases de datos y tablas, verificar índices o privilegios de usuario, monitorear, administrar e incluso codificar puede volverse realmente complicado cuando se trata de manejarlo a través de la consola.
No es que no necesite administrar los comandos de la línea de comandos (sin duda es imprescindible), pero existen algunas herramientas que pueden ayudarlo a acelerar muchas de las tareas diarias de DBA.
Veamos de qué se tratan estas herramientas y revisemos algunas de ellas.
¿Qué es una herramienta GUI?
Una GUI o interfaz gráfica de usuario es un software que simplifica las tareas de los usuarios a través de iconos gráficos e indicadores visuales. Las acciones se realizan mediante el uso de elementos gráficos.
¿Por qué debo usar una herramienta GUI?
El uso de una GUI no es obligatorio, pero puede ser útil. Una de las principales ventajas de las GUI es que, en general, son más fáciles de aprender que muchos comandos y probablemente una acción en la GUI podría generar algunos comandos para realizar la tarea.
Otra ventaja podría ser que la GUI es más amigable que la línea de comandos y, en la mayoría de los casos, no necesita ningún conocimiento de programación o administración de sistemas para usarla.
Pero, debe tener cuidado antes de realizar una tarea desde la GUI, porque al usar el botón incorrecto, podría generar un gran problema como eliminar una tabla; y por esta razón, tenga cuidado al usar este tipo de herramienta.
Principales herramientas GUI para PostgreSQL
Ahora, veamos algunas de las herramientas GUI más comunes para PostgreSQL.
Tenga en cuenta que, para los ejemplos de instalación, lo probaremos en Ubuntu 18.04 Bionic.
pgAdmin
pgAdmin es una de las plataformas de desarrollo y administración de código abierto más populares para PostgreSQL.
Está diseñado para satisfacer las necesidades tanto de los usuarios de PostgreSQL novatos como de los experimentados, proporcionando una potente interfaz gráfica que simplifica la creación, el mantenimiento y el uso de los objetos de la base de datos.
Es compatible con Linux, Mac OS X y Windows. Admite todas las características de PostgreSQL, desde escribir consultas SQL simples hasta desarrollar bases de datos complejas. Está diseñado para consultar una base de datos activa, lo que le permite mantenerse al día con las modificaciones e implementaciones. pgAdmin 4, la versión actual, puede administrar PostgreSQL 9.2 y superior.
Características
- Visualización gráfica del plan de consulta
- Asistente de concesión para actualizaciones rápidas de ACL
- Depurador de lenguaje procedimental
- Gestión de vacío automático
- Panel de control
- Copia de seguridad, restauración, aspirado y análisis bajo demanda
- Agente de programación de trabajos SQL/shell/batch
- Detección automática y soporte para objetos descubiertos en tiempo de ejecución
- Una herramienta de consulta SQL en vivo con edición directa de datos
- Soporte para consultas administrativas
- Un editor de SQL que resalta la sintaxis
- Interfaces gráficas rediseñadas
- Potentes cuadros de diálogo y herramientas de administración para tareas comunes
- Comportamiento receptivo y sensible al contexto
- Mensajes de error de apoyo
- Consejos útiles
- Ayuda en línea e información sobre el uso de herramientas y cuadros de diálogo de pgAdmin
Instalación
Primero, necesitamos importar la clave del repositorio.
$ sudo apt-get install curl ca-certificates
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Y cree el archivo /etc/apt/sources.list.d/pgdg.list. Las distribuciones se llaman codename-pgdg. En nuestro ejemplo debería ser bionic-pgdg.
$ deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Para determinar el nombre en clave de su distribución, puede ejecutar el comando lsb_release -c.
Después de esto, debe actualizar las listas de paquetes e instalar el paquete pgadmin:
$ sudo apt-get update
$ sudo apt-get install pgadmin4
Luego, solo necesita ejecutar el comando pgadmin4:
$ pgadmin4
Configuración
La instalación crea un servidor pgAdmin escuchando en un puerto específico. Este puerto cambia cada vez que ejecuta el comando pgadmin4. Una vez que el programa se está ejecutando, puede administrar su base de datos desde una interfaz web accediendo mediante el ícono pgAdmin en la barra de tareas.
Para conectarse a su base de datos, debe elegir la opción Agregar nuevo servidor y completar la información de conexión.
Luego, puede administrar su base de datos usando pgAdmin 4.
El diseño se ve bien y es una interfaz intuitiva. Los gráficos en la pantalla principal podrían ayudar a detectar algún problema en su sistema.
La instalación requiere agregar un repositorio, por lo que podría requerir algunas habilidades adicionales.
Control de clúster
ClusterControl admite la implementación, la gestión, la supervisión y el escalado de PostgreSQL.
Cada instancia de PostgreSQL implementada se configura automáticamente mediante la interfaz de apuntar y hacer clic fácil de usar de ClusterControl.
Puede administrar copias de seguridad, ejecutar consultas y realizar un monitoreo avanzado de todos los maestros y esclavos; todo con conmutación por error automatizada si algo sale mal.
Las funciones de automatización dentro de ClusterControl le permiten configurar fácilmente un entorno de replicación de PostgreSQL, donde puede agregar nuevos esclavos de replicación desde cero o usar los que ya están configurados.
También le permite promover maestros y reconstruir esclavos.
Hay dos versiones: Community Edition o Enterprise Edition.
Características
- Gestión de copias de seguridad
- Supervisión y alertas
- Implementación y escalado
- Actualizaciones y parches
- Seguridad y cumplimiento
- Informes operativos
- Gestión de la configuración
- Recuperación y reparación automáticas
- Gestión del rendimiento
- Asesores de rendimiento automatizados
Instalación
Para la instalación, puede utilizar la instalación automática, manual o fuera de línea.
En este ejemplo, usaremos la instalación automática.
Debe descargar el siguiente script y ejecutarlo con privilegios de root en el servidor ClusterControl:
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ sudo ./install-cc
Luego, debes completar la información como contraseñas o configuración y listo.
Configuración
Una vez finalizada la instalación, debería poder abrir la interfaz de usuario ClusterControl en el navegador web utilizando el nombre de host o la dirección IP de su servidor, por ejemplo:http://192.168.100.191/clustercontrol/
Aquí puede realizar varias tareas como implementar, importar, monitorear y aún más.
Una vez que haya importado o implementado su clúster PostgreSQL por ClusterControl, puede administrarlo desde una interfaz web completa y fácil de usar.
Se ejecuta en un servidor, por lo que puede usarlo desde cualquier lugar. Todo el software lo instala ClusterControl, por lo que no necesita realizar ninguna instalación manualmente.
Administrador
Adminer es una herramienta de administración de base de datos con todas las funciones escrita en PHP.
Consiste en un solo archivo listo para implementar en el servidor de destino.
Adminer está disponible para MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch y MongoDB. La versión actual es la 4.7 y se lanzó en noviembre.
Características
- Conéctese a un servidor de base de datos con nombre de usuario y contraseña
- Seleccione una base de datos existente o cree una nueva
- Lista de campos, índices, claves foráneas y disparadores de una tabla
- Cambiar el nombre, el motor, la intercalación, el incremento automático y el comentario de la tabla
- Modifique el nombre, el tipo, la intercalación, el comentario y los valores predeterminados de las columnas
- Añadir y soltar tablas y columnas
- Cree, modifique, suelte y busque por índices, incluido el texto completo
- Cree, modifique, suelte y vincule listas mediante claves foráneas
- Cree, modifique, suelte y seleccione desde vistas
- Cree, modifique, elimine y llame a funciones y procedimientos almacenados
- Crear, modificar y soltar disparadores
- Enumere datos en tablas con resultados de búsqueda, agregación, clasificación y límite
- Insertar nuevos registros, actualizar y eliminar los existentes
- Admite todos los tipos de datos, blobs mediante transferencia de archivos
- Ejecutar cualquier comando SQL desde un campo de texto o un archivo
- Exportar estructura de tabla, datos, vistas, rutinas, bases de datos a SQL o CSV
- Imprimir esquema de base de datos conectado por claves foráneas
- Mostrar procesos y eliminarlos
- Mostrar usuarios y derechos y cambiarlos
- Mostrar variables con enlaces a la documentación
- Administrar eventos y particiones de tablas
- PostgreSQL
- Esquemas, secuencias, tipos de usuarios
- Amplias opciones de personalización
Instalación
Se ejecuta en un servidor web, por lo que primero debe instalar los paquetes Apache2, php, php-pdo y php-pgsql.
$ sudo apt install apache2 php php-pdo php-pgsql
Necesitamos descargar el archivo PHP de la página web de Adminer:
$ wget https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1.php
Y necesitamos mover el archivo PHP a la raíz de nuestro documento apache:
$ sudo mv adminer-4.7.1.php /var/www/html/adminer.php
Luego, si lo está instalando en su máquina local, debe abrir la URL http://localhost/adminer.php en su navegador web.
Configuración
Para comenzar a usar la herramienta, debe iniciar sesión en su base de datos.
Después de iniciar sesión, puede ver la siguiente página web.
La instalación es realmente fácil porque solo necesita colocar el archivo PHP en la raíz del documento de su servidor web, pero la interfaz parece un poco anticuada.
Es una aplicación web, por lo que puede acceder a ella desde cualquier lugar solo mediante un navegador web.
Área de trabajo SQL/J
SQL Workbench/J es una herramienta de consulta SQL gratuita, independiente de DBMS y multiplataforma.
Está escrito en Java y debe ejecutarse en cualquier sistema operativo que proporcione un entorno de tiempo de ejecución de Java.
Su enfoque principal es ejecutar scripts SQL y funciones de exportación/importación. La creación de consultas gráficas o tareas de DBA más avanzadas no son el enfoque y no están planificadas.
Características
- Edite, inserte y elimine datos directamente en el resultado de la consulta
- Potente comando de exportación para escribir archivos de texto, XML, HTML o SQL.
- Todas las tablas de usuarios se pueden exportar a un directorio con un solo comando. Los archivos de exportación se pueden comprimir "sobre la marcha".
- Potente importación de texto, XML y hojas de cálculo. Se puede importar un conjunto de archivos desde un directorio con un solo comando. Se detectan restricciones de clave externa para insertar los datos en el orden correcto
- Compare dos esquemas de base de datos para ver las diferencias. La salida XML se puede transformar en las instrucciones SQL ALTER apropiadas usando XSLT
- Compare los datos de dos bases de datos y genere las instrucciones SQL necesarias para migrar una a la otra.
- Admite la ejecución de secuencias de comandos SQL en modo por lotes
- Admite la ejecución en modo consola
- Busque texto en procedimientos, vistas y otras fuentes usando un comando SQL o una GUI
- Busque datos en todas las columnas de todas las tablas usando un comando SQL o una GUI
- Reformateo de sentencias SQL
- Seleccione filas de tablas relacionadas según sus definiciones de clave externa
- Información sobre herramientas para instrucciones INSERT para mostrar el valor o la columna correspondiente
- Copie datos directamente entre servidores de bases de datos utilizando un comando SQL o una GUI
- Macros para instrucciones SQL de uso frecuente
- Sustitución de variables en declaraciones SQL, incluida la solicitud inteligente de valores
- Finalización automática de tablas y columnas en sentencias SQL
- Mostrar objetos de la base de datos y sus definiciones
- Mostrar fuente de tabla
- Mostrar vista, procedimiento y código fuente de activación
- Mostrar restricciones de clave externa entre tablas
- Soporte completo para datos BLOB en resultados de consultas, declaraciones SQL, exportación e importación.
Instalación
Está escrito en Java, por lo que necesita este software para ejecutarlo.
Primero, debe verificar si tiene Java instalado en su sistema:
$ java --version
Luego, debe descargar el paquete SQL Workbench:
$ wget https://www.sql-workbench.eu/Workbench-Build124.zip
$ unzip -d sqlworkbench Workbench-Build124.zip
Para ejecutarlo, debe ejecutar el archivo jar llamado sqlworkbench.jar usando el comando java con el indicador jar:
$ java -jar sqlworkbench/sqlworkbench.jar
Configuración
Para conectarse a su base de datos PostgreSQL, debe descargar el controlador JDBC:
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ mv postgresql-42.2.5.jar sqlworkbench/
Y configure el controlador en su SQL Workbench. Para ello, vaya a Archivo -> Administrar controladores -> Seleccione PostgreSQL y seleccione el controlador.
Luego, vaya a la ventana Archivo -> Conectar y complete la información del perfil de conexión.
Una vez finalizada la conexión, puede administrar su base de datos usándola.
La instalación es fácil pero necesita descargar el controlador y configurarlo manualmente. Además, la interfaz no es demasiado amigable.
Castor
DBeaver es una herramienta de base de datos universal gratuita y de código abierto para desarrolladores y administradores de bases de datos.
Admite todas las bases de datos populares:MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby, etc.
La usabilidad es el objetivo principal de este proyecto, la interfaz de usuario del programa está cuidadosamente diseñada e implementada. Se basa en un marco de código abierto y permite escribir varias extensiones (complementos). Admite cualquier base de datos que tenga un controlador JDBC. Hay dos versiones:Community Edition y Enterprise Edition.
Características
- Administrador de conexiones
- Navegador de metadatos
- Editor SQL
- Visor/editor de datos
- Búsqueda de datos/metadatos
- Comparación de estructura de base de datos
- Transferencia de datos (exportación/importación)
- Diagramas ER
- Administrador de consultas
- Proyectos
- Vistas adicionales
- Administrador de conductores
- Bases de datos relacionales compatibles
- Bases de datos NoSQL compatibles
- Sistemas operativos compatibles
- PostgreSQL
- Explicación del plan de ejecución
- Fuente de procedimientos almacenados
- Vistas DDL
- Secuencias
Instalación
Primero, debe descargar el paquete e instalarlo:
$ wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
$ dpkg -i dbeaver-ce_latest_amd64.deb
Y luego, simplemente ejecute el siguiente comando para abrir la aplicación:
$ dbeaver
Configuración
Cuando ejecuta la aplicación por primera vez, necesita configurar su conexión a la base de datos.
Por lo tanto, debe seleccionar PostgreSQL y completar la información.
Luego, al seleccionar Probar conexión, debe descargar los archivos del controlador. Debería recibir el siguiente mensaje después de la prueba.
Cuando termine la configuración, puede administrar su base de datos utilizando la aplicación DBeaver.
La instalación es, básicamente, pan comido, y la interfaz parece amigable e intuitiva.
Navegación
Navicat for PostgreSQL es una herramienta gráfica fácil de usar para el desarrollo de bases de datos PostgreSQL.
Esta herramienta se adaptará a todos, desde principiantes hasta personas mayores, y se adaptará a todas las tareas, desde consultas simples hasta desarrollo. Conéctese a servidores PostgreSQL locales/remotos y sea compatible con bases de datos en la nube como Amazon Redshift, Amazon Aurora, Amazon RDS, Google Cloud, Microsoft Azure, Alibaba Cloud, Tencent Cloud y Huawei Cloud, y todos los objetos de bases de datos PostgreSQL. Es una aplicación paga pero puedes usar la versión de prueba para probarla.
Características
- Admite PostgreSQL 7.3 o posterior y servicios en la nube como AWS, Google Cloud o Microsoft Azure, entre otros.
- Conexión segura:SSH/HTTP/SSL
- Nube Navicat
- Visor y editor de datos
- Procesamiento SQL
- Modelado de datos
- Importar/Exportar
- Manipulación de datos
- Copia de seguridad/Restaurar
- Automatización
- Administrar usuario
- Supervisión del servidor
Instalación
Primero, debemos descargar el paquete Navicat y descomprimirlo.
$ wget http://download3.navicat.com/download/navicat121_pgsql_en_x64.tar.gz
$ tar zxvf navicat121_pgsql_en_x64.tar.gz
Luego, necesitamos ejecutar el script start_navicat para iniciarlo.
$ cd navicat121_pgsql_en_x64
$ ./start_navicat
Esto usará Wine para ejecutar la aplicación Navicat y podría pedirle que instale alguna dependencia necesaria durante la inicialización.
Configuración
Cuando accede a la aplicación, necesita crear una nueva conexión.
Vaya a Conexión -> PostgreSQL y complete la información.
Después de esto, puede comenzar a usar la aplicación para administrar su base de datos.
El software se ejecuta en Wine en Linux y la prueba es de 14 días. La interfaz se ve bonita y amigable.
Conclusión
En este blog, revisamos algunas de las herramientas GUI más comunes para PostgreSQL.
Independientemente del hecho de que el uso de una herramienta GUI no es obligatorio, puede ayudarlo a facilitar algunas de las tareas diarias de DBA al brindarle una forma más amigable de administrar las cosas.
Estas herramientas no reemplazan la línea de comandos (como administrador de base de datos, debe dominarla), pero son extremadamente útiles y realmente se beneficiará de ellas.