Restaurar un dump de PostgreSQL usando un Job de SleakOps
Hacé dump de una base de datos PostgreSQL y restaurala en una RDS administrada por SleakOps usando un Job Pod temporal con una imagen de Postgres compatible.
Antes de comenzar, creá un snapshot manual de la RDS. Seguí la documentación de AWS sobre creación de snapshots .
Prerrequisitos
- Un Cluster configurado en SleakOps (Documentación de Cluster)
- Un Environment y Project ya desplegados
- Credenciales y endpoint de la base de datos origen
- La Dependency RDS destino creada en SleakOps
Empecemos
Paso 1 — Generar el dump de la base de datos origen
Ejecutá este comando desde cualquier máquina con acceso de red a la base de datos origen. Pedirá la contraseña:
pg_dump -h POSTGRESQL_ADDRESS -U POSTGRESQL_USERNAME -W -Fc -f dump.dump
Para opciones detalladas, consultá la documentación de la Dependency PostgreSQL de SleakOps.
Paso 2 — Escalar la instancia RDS destino
Aumentá temporalmente el tipo de instancia RDS a uno de mayor tamaño. Esto reduce significativamente el tiempo de carga del dump. Hacelo al inicio para que el resize esté listo antes de comenzar la restauración.
Paso 3 — Crear un Job en SleakOps
Creá un Job usando la misma versión de Postgres que tu Dependency RDS destino. Este Job crea un Pod al que te conectarás para ejecutar la restauración.
Configuración de ejemplo:
- Image URL:
docker.io/library/postgres - Image tag:
17(debe coincidir con la versión de tu RDS)


Paso 4 — Abrir la terminal del Pod y ejecutar la restauración
Conectate a la terminal del Pod creado por el Job (por ejemplo, desde Lens) y ejecutá:
pg_restore -j 8 -O -v -e --clean --if-exists --no-owner --no-privileges \
--exit-on-error \
-h POSTGRESQL_ADDRESS \
-U POSTGRESQL_USERNAME \
-W \
-d POSTGRESQL_DATABASE \
dump.dump
El flag -j 8 usa 8 workers en paralelo para acelerar la restauración. Ajustá según el CPU disponible.
Paso 5 — Volver al tamaño original de la instancia RDS
Una vez finalizada la restauración, revertí el tipo de instancia RDS a su tamaño original.