Playground para PostgreSQL con PgAmin4

· Textual Simplicity

Como configurar PostgreSQL y PgAdmin4 en Podman
#Spanish #PostgreSQL #PgAdmin4 #Podman

Esta semana, decidí experimentar con SQL y PostgreSQL. Mi herramienta elegida fue Podman, aqui te muestro cómo puedes hacer lo mismo de manera sencilla. Suponiendo que ya tienes Podman instalado y funcionando

# Paso 1: Instalación

Comenzamos descargando las imágenes necesarias (disponibles en Docker Hub):

1podman pull postgres dpage/pgadmin4

# Paso 2: Creación y Configuración del Pod

Para que los contenedores interactúen, los encapsulamos en un pod. Creamos uno y configuramos los puertos necesarios, siendo el puerto 80 esencial para PgAdmin4

1podman pod create \
2--name pgsql-playground \
3-p 8099:80,5432:5432

# Paso 3: Persistencia de datos

Para evitar la pérdida de datos, creamos un volumen de persistencia para el contenedor de PostgreSQL:

1podman volume create vol-pgsql-playground
2podman volume create vol-pgadmin-playground

con podman volume inspect podemos verificar donde se almacena la información, el volumen para pgadmin es para poder guardar los queries que se realicen en la interfaz o hasta poder copiarlos a localhost.

# Paso 4: Lanzamiento de Contenedores

Primero, lanzamos el contenedor PostgreSQL

1podman run \
2--pod=pgsql-playground \
3--name pgsql \
4-e 'POSTGRES_USER=root' \
5-e 'POSTGRES_PASSWORD=root' \
6-e 'POSTGRES_DB=testing' \
7-v vol-pgsql-playground:/var/lib/postgresql/data \
8-d \
9postgres

Seguido, procedemos con PgAdmin4:

1podman run \
2--pod=pgsql-playground \
3--name pgadmin \
4-e 'PGADMIN_DEFAULT_EMAIL=admin@localhost.io' \
5-e 'PGADMIN_DEFAULT_PASSWORD=root' \
6-v vol-pgadmin-playground:/var/lib/pgadmin/storage \
7-d \
8dpage/pgadmin4

Recuerda ajustar las variables según tus necesidades. IMPORTANTE: NO USAR ESTA CONFIGURACIÓN PARA ENTORNOS DE PRODUCCIÓN.

# Acceso y Uso

Si todo va bien, accede a http://localhost:8099/ desde tu navegador para conectar al servidor PgAdmin4 ya dentro de este, solo es necesario realizar la conexión al servidor de PostgreSQL