
682 - Dos herramientas de bases de datos que tienes que conocer
#pgmanage y #rainfrog son dos espectaculares herramientas para gestionar tus bases de datos #postgresql de forma gráfica o directamente de la terminal
Antes que nada quiero aclarar que me estoy refiriendo a bases de datos como PostgreSQL y MariaDB, no confundir en ningún caso con otras cosas. Me estoy refiriendo a bases de datos serias. Ya sabes a que me refiero. Y en particular, por mi historia personal, yo me decanto personalmente por PostgreSQL, que es la base de datos, con la que me formé y la que mas apego personal le tengo. La cuestión es que en los últimos meses estoy retomando, con fuerza mi contacto con PostgreSQL por un proyecto, un side project que diría el amigo Daniel Primo de Web Reactiva. Actualmente no tengo que interactuar en exceso con la base de datos, y a base de migraciones mas o menos lo tengo resuelto. Sin embargo, ha llegado el momento, en que tengo que hacer cambios y probar. Básicamente, tengo que gestionar la base de datos. Dado que esto lo estoy haciendo en local y publicando en un VPS, necesito acceso tanto en local como en remoto, y preferiblemente en remoto sin abrir puertos. Así, estoy utilizando dos herramientas de bases de datos que tienes que conocer, donde una es con interfaz web y otra con TUI.

Dos herramientas de bases de datos que tienes que conocer
Un poquito de contexto
Como te decía en la introducción actualmente ando liado, entre varios proyectos en un side proyect, en el que utilizo como base de datos PostgreSQL. La cuestión es que inicialmente había comenzado el proyecto tirando de SQLite, pero ha llegado un punto, en el que se está complicando todo, y no quiero tener que hacer las cosas dos veces. Esto me llevó a abandonar SQLite y definitivamente montar un servidor PostgreSQL en local. En local para el desarrollo del proyecto, y una servidor en remoto, en el VPS, para servir el proyecto. De paso, para así, mis compañeros de aventura pudieran comenzar a meter datos sin preocuparse de que en un futuro fuera a ser migrado. Imagina que les digo pasado un tiempo que todo lo que habían hecho a lo mejor se perdía en una migración. Seguro que mas de uno me hubiera mirado con malos ojos.
Una vez realizada la migración, tenía que introducir algunos datos, unos pocos, y la cosa mediante migraciones fue correctamente. Posteriormente, quise hacer otros cambios puntuales, y todo empezó a complicarse. Esto me llevó a rebuscar entre las herramientas que he utilizado en algún momento para la gestión de bases de datos, o al menos, algunas de las que tenía noticias. De esta forma he retomado mi contacto con dos, una gráfica como es PGManage y la otra, para terminal, aunque con interfaz TUI como es rainfrog.
Si te preguntas la razón para utilizar dos distintas, indicarte que PGManage la utilizo en local, mientras que rainfrog la utilizo en la terminal en el propio VPS. Cierto es que podría utilizar PGManage con las dos, simplemente abriendo puerto, o con un túnel ssh o mediante el proxy inverso… pero lo cierto es que cuantas menos puertas al exterior menos problemas, y al fin y al cabo, ya sabes que soy un animal de terminal.
Indicarte que actualmente para otras cuestiones utilizo DBeaver, del que te hablé hace ya unos pocos de años, pero que se actualiza y renueva con frecuencia, con lo que es otra opción que puedes tener en cuenta a la hora de valorar la herramienta de gestión de bases de datos que utilizar.
PGManage
PGManage es un herramienta moderna y multiplataforma para la administración y gestión de bases de datos centrada en Postgres. Ofrece una interfaz gráfica para interactuar con bases de datos, permitiendo a los usuarios ejecutar consultas, administrar esquemas y gestionar usuarios, entre otras funciones.
Características
Algunas de las características de esta herramienta son las siguientes,
- Múltiples espacios de trabajo, conecta y trabaja con múltiples bases de datos a la vez.
- Autocompletado SQL, PGManage sugiere opciones de autocompletado mientras escribes. Se admite la finalización de esquemas, tablas, vistas, funciones y columnas.
- Almacenamiento seguro de credenciales, la información sensible, como contraseñas de bases de datos y claves SSH, se almacena de forma cifrada y está protegida por una contraseña maestra.
- Gestión de configuración de Postgres, busca y ajusta fácilmente los parámetros de configuración de tu servidor Postgres mediante una interfaz gráfica intuitiva.
- Copias de seguridad de bases de datos, realiza copias de seguridad y restauraciones de tu clúster o base de datos en segundo plano mientras trabajas en otras tareas.
- Visualización, PGManage admite la visualización de planes de consulta y diagramas de relaciones entre entidades.
- Modo claro u oscuro, elige un tema según tu preferencia.
- Túneles de conexión, conéctate a tus servidores de bases de datos a través de túneles SSH. Este punto es el que te estaba comentando anteriormente y que me podría conectar, de forma sencilla y relativamente segura, desde esta herramienta con la base de datos. La cosa de no hacerlo, al menos en un principio es que tal y como tengo montado, la base de datos solo se comunica con la aplicación con una red interna sin acceso al exterior.
- Terminal SSH integrado. Realmente a mi esto me soluciona poco, porque para eso utilizo directactamente
psql
y no me caliento mucho la cabeza. Pero esto ya son cosas de cada uno.
Instalación
Como te decía en las características de la aplicación, se trata de una herramienta multiplataforma, que está disponible tanto para Linux, como Windows como MacOS. En el caso de Linux, la instalación es sencilla, limpia y rápida. Simplemente descargar y ejecutar una AppImage.
Aquí me remito al episodio 375 en el que te hablé sobre como podías exprimir AppImage. Te lo comento, porque si bien, puedes simplemente descargar y ejecutar el paquete, también tienes la posibilidad de integrarlo con tu sistema, e incluso hacer actualizaciones. Algo que tienes que tener muy en cuenta.
rainfrog
La segunda de las herramientas que te quería presentar es rainfrog. No quiero dejar de mencionar la poca habilidad de los desarrolladores con el naming. No me digas que este nombre es poco acertado. Escuchas rainfrog y en lo último que piensas es en un gestor de bases de datos para PostgreSQL, en fin. Menos mal que hay personas que se dedican al naming.
En el propio repo de GitHub dan una explicación del nombre de esta herramienta, y dice algo como que Las ranas encuentran refugio en las huellas de los elefantes.
La frase «Frogs find refuge in elephant tracks» (literalmente, «Las ranas encuentran refugio en las huellas de los elefantes») es un proverbio africano que sugiere que los más pequeños o débiles pueden beneficiarse de las acciones o la presencia de los más grandes o poderosos.
En un sentido más amplio, puede interpretarse como una metáfora de cómo algunas personas o entidades pueden encontrar protección, recursos o ventajas dentro de los espacios creados por otros más influyentes o fuertes.
rainfrog es un gestor de bases de datos con interfaz TUI para PostgreSQL, con el objetivo principal de proporcionar una alternativa tremendamente ligera y basada en terminal a los pesados de la gestión de bases de datos como son PGAdmin y DBeaver.
Características
Algunas de las características de esta herramienta son las siguientes,
- Navegación eficiente mediante atajos de teclado al estilo Vim y controles con el ratón.
- Editor de consultas con resaltado de palabras clave e historial de sesiones.
- Copia rápida de datos, filtrado de tablas y cambio ágil entre esquemas.
- Atajos para ver metadatos y propiedades de las tablas.
- Compatible con múltiples plataformas (macOS, Linux, Windows y Android a través de Termux).
Bases de datos soportadas
rainfrog está principalmente testeada con PostgreSQL, aunque indican que tanto SQLite como MariaDB, están soportadas, si bien, no están tan probadas como la primera, así que te instan a que andes con cuidado.
Instalación
Como te decía esta herramienta es multiplataforma, así que la encontrarás en casi cuaquier sitio que te puedas imaginar. Desde luego que en las grandes plataformas está disponible, pero también la puedes instalar en termux, con utilizand cargo
, el gestor de paquetes de Rust. Por que si, todavía no te lo había dicho, pero rainfrog es una herramienta implementada en Rust.
En el caso de ArchLinux, lo puedes instalar con tan solo,
sudo pacman -S rainfrog
Y en otros casos, como por ejemplo en el caso de Termux, lo puedes hacer de la mano de cargo
, lo puedes hacer de la siguiente manera,
cargo install rainfrog --features termux --no-default-features
En este caso, como te puedes imaginar, el uso no es tan intuitivo como el de PGManage, pero con un rainfrog -h
tendrás la ayuda en la línea de comandos para sacarte de un apuro
Conclusión
Como ves te dejo una herramienta para gestionar bases de datos para cada momento. Si estás en un entorno gráfico puedes utilizar PGManage, mientras que si estás en terminal, siempre puedes tirar mano de rainfrog.
Más información,