Playground para PostgreSQL con PgAmin4

on 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 21001:80,21002:5432

# Paso 3: Persistencia de datos

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

1mkdir -p ~/containers/data/{pgsql,pgadmin}

# Paso 4: Es crucial ajustar los permisos del directorio de pgadmin

1sudo chmod 775 ~/containers/data/pgadmin

Nota: Posteriormente, tendrás que dar permisos (775) al directorio del usuario.

# Paso 5: 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 ~/containers/data/pgsql:/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 ~/containers/data/pgadmin:/var/lib/pgadmin/storage \
7-d \
8dpage/pgadmin4

Recuerda ajustar las variables según tus necesidades. IMPORTANTE: NO USAR ESTA CONFIGURACION PARA ENTORNOS DE PRODUCCION.

# Acceso y Uso

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