bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward

Cómo migrar de Heroku Postgres a un PG gestionado en un VPS

calendar_month 27 de mayo de 2026 schedule 9 min de lectura visibility 48 vistas
person
Valebyte Team
Cómo migrar de Heroku Postgres a un PG gestionado en un VPS
Para la migración de Heroku Postgres a un VPS con una configuración managed, lo más efectivo es utilizar la combinación de pg_dump y pg_restore para bases de datos de hasta 100 GB, o replicación lógica para minimizar el tiempo de inactividad (downtime), lo que permite reducir los gastos mensuales de infraestructura entre 5 y 8 veces con un rendimiento comparable de discos NVMe y núcleos de CPU dedicados.

¿Por qué migrate heroku postgres a un VPS justo ahora?

Heroku ha sido durante mucho tiempo el estándar de conveniencia para los desarrolladores; sin embargo, los límites estrictos en el número de conexiones, la falta de acceso al sistema de archivos y el alto costo de los recursos adicionales hacen que la heroku pg migration sea un paso lógico para un proyecto en crecimiento. La transición a una infraestructura propia o el uso de un VPS con gestión automatizada de DBMS otorga un control total sobre la configuración de postgresql.conf y permite implementar extensiones que no están disponibles en el ecosistema cerrado de Heroku.

Eficiencia económica y rendimiento

El costo de Heroku Postgres en los planes Standard y Premium comienza desde $50 y $200 al mes, respectivamente. Por ese dinero, obtienes recursos limitados. En comparación, un VPS moderno basado en procesadores con una frecuencia de 3.4+ GHz y unidades NVMe proporciona de 2 a 3 veces más IOPS (operaciones de entrada/salida por segundo), lo cual es crítico para bases de datos de alta carga. Puedes encontrar un análisis detallado de la migración de infraestructura en el artículo cómo mudarse de Heroku a un VPS en 2026: guía paso a paso.

Eliminación de las limitaciones de Heroku

Heroku impone límites no solo al volumen de datos, sino también al número de conexiones simultáneas. En una configuración managed en un VPS, puedes configurar por tu cuenta pgBouncer u Odyssey, lo que permitirá manejar miles de conexiones sin degradación del rendimiento. Además, no estás limitado en la elección de la versión de PostgreSQL: puedes utilizar las características de vanguardia de Postgres 16 o 17 sin esperar a que Heroku actualice sus imágenes.

Elección de configuración: heroku pg migration y requisitos del sistema

Antes de comenzar la postgres migration vps, es necesario seleccionar correctamente los parámetros del servidor. La base de datos es el componente del sistema que más recursos consume. Un error en la elección del subsistema de disco o del volumen de memoria RAM provocará que las consultas que en Heroku se ejecutaban en milisegundos comiencen a experimentar retrasos.

Características recomendadas del VPS

  • CPU: Mínimo 2 núcleos para bases pequeñas, 4-8 núcleos para sistemas cargados. PostgreSQL utiliza activamente el multihilo para procesos en segundo plano (Background Writer, Checkpointer).
  • RAM: El volumen de memoria debe ser suficiente para que shared_buffers albergue los datos "calientes" (generalmente el 25% del RAM total), más un margen para el sistema operativo y la caché del sistema de archivos.
  • Disk: Solo NVMe. PostgreSQL es sensible a las latencias de escritura del WAL (Write Ahead Log). La velocidad de escritura lineal no debe ser inferior a 500 MB/s.
Parámetro Heroku Standard 0 ($50/mes) VPS Managed-PG ($25/mes) Ventaja del VPS
RAM 4 GB 8-12 GB 2-3 veces más
CPU Shared (limitado) 4 Dedicated vCPU Carga predecible
Disk 256 GB (Standard) 160 GB NVMe Baja latencia (IOPS)
Connections 120 Unlimited (via pgBouncer) Escalabilidad

Al elegir un servidor para bases de datos con lectura/escritura intensiva, vale la pena considerar la arquitectura del procesador. Si planeas usar la base de datos para analítica o tareas de ML, consulta el material Bare-metal vs VPS para ML inference en CPU para entender la diferencia en el rendimiento de los núcleos de cómputo.

¿Buscas un servidor confiable para tus proyectos?

VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.

Ver ofertas →

Métodos principales de postgres migration vps: pg_dump vs pg_basebackup

Existen tres formas principales de transferir los datos. La elección depende del tamaño de la base y del tiempo de inactividad permitido para la aplicación.

Método 1: pg_dump y pg_restore (Backup lógico)

Este es el método estándar y más sencillo. Crea un script SQL o un archivo con los datos que luego se despliega en el nuevo servidor. Pros: Simplicidad, posibilidad de cambiar la versión de Postgres (por ejemplo, de la 13 a la 16). Contras: Requiere detener la escritura en la base de datos durante la exportación para que los datos sean consistentes.

Método 2: Replicación lógica

Permite transmitir los cambios desde Heroku en tiempo real. Configuras el VPS como suscriptor (Subscriber) y Heroku como publicador (Publisher). Pros: Downtime mínimo (unos pocos segundos para el cambio de DNS). Contras: Requiere configuración de permisos de acceso, que en Heroku pueden estar limitados en los planes más económicos.

Método 3: pg_basebackup y replicación física

Este método rara vez es aplicable para Heroku, ya que el servicio no otorga acceso directo al sistema de archivos ni al protocolo de replicación por streaming a nivel de superusuario. Por lo tanto, en el contexto de managed pg vps, nos enfocamos en los métodos lógicos de transferencia.

rocket_launch Elección rápida

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Servidores dedicados arrow_forward

Instrucciones paso a paso: cómo implementar managed pg vps mediante pg_dump

Para una migración exitosa, necesitarás tener instalado heroku cli en tu máquina local o en un servidor intermedio y acceso al nuevo VPS por SSH.

Paso 1: Preparación del servidor de destino

Instala la versión necesaria de PostgreSQL en tu VPS. Recomendamos utilizar los repositorios oficiales de PGDG (PostgreSQL Global Development Group) para obtener los últimos parches de seguridad.

sudo apt update
sudo apt install -y postgresql-16 postgresql-client-16

Edita /etc/postgresql/16/main/postgresql.conf para permitir conexiones externas si es necesario y configurar los límites de memoria:

listen_addresses = '*'
shared_buffers = 2GB # Para un servidor con 8GB de RAM
work_mem = 64MB
maintenance_work_mem = 512MB

Paso 2: Creación del dump desde Heroku

Utiliza el flag -Fc (formato personalizado), que permite realizar la restauración en varios hilos, lo que acelera significativamente la heroku pg migration.

# Obtenemos la URL de la base de datos
heroku config:get DATABASE_URL -a nombre-de-tu-app

# Creamos el dump
pg_dump -Fc --no-acl --no-owner -d "postgres://user:pass@host:port/dbname" > heroku_db.dump

Paso 3: Restauración de datos en el VPS

Transfiere el archivo del dump al VPS y ejecuta la restauración. El uso del flag -j (número de núcleos) acelerará el proceso de creación de índices.

# Creamos la base de datos en el nuevo servidor
sudo -u postgres createdb mi_nueva_db

# Restauramos los datos
pg_restore -v -d mi_nueva_db -j 4 heroku_db.dump

Si has utilizado anteriormente otras plataformas en la nube, el proceso será similar. Por ejemplo, estudia cómo mudarse de Render.com a un VPS en 2026 para comparar los enfoques de migración de bases de datos y aplicaciones.

Configuración de tolerancia a fallos con pgBackRest

En Heroku, los backups funcionan de forma nativa. Al mudarte a un managed pg vps, la responsabilidad de la integridad de los datos recae sobre ti. La herramienta pgBackRest es el estándar de oro para la gestión de copias de seguridad en PostgreSQL.

Ventajas de pgBackRest

  • Copia y compresión de datos en paralelo.
  • Backups incrementales y diferenciales (ahorran espacio).
  • Soporte para almacenamientos compatibles con S3 para backups off-site.
  • Point-in-Time Recovery (PITR): posibilidad de restaurar la base a cualquier segundo del pasado.

Ejemplo de configuración de pgBackRest

El archivo /etc/pgbackrest.conf en tu VPS debería verse algo así:

[main]
pg1-path=/var/lib/postgresql/16/main

[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2
process-max=4
log-level-file=info

[global:archive-push]
compress-level=3

Para configurar el archivado de los logs WAL, añade en postgresql.conf:

archive_mode = on
archive_command = 'pgbackrest --stanza=main archive-push %p'

Optimización del rendimiento después de la migración

Una vez que el migrate heroku postgres ha finalizado, es importante asegurarse de que la base de datos funcione de manera óptima. Heroku configura automáticamente muchos parámetros; en un VPS, tendrás que hacerlo manualmente.

Configuración de índices y estadísticas

Inmediatamente después de importar los datos, ejecuta el comando ANALYZE. Esto actualizará las estadísticas del planificador de consultas, sin las cuales Postgres podría elegir planes de ejecución ineficientes (por ejemplo, Sequential Scan en lugar de Index Scan).

sudo -u postgres psql -d mi_nueva_db -c "ANALYZE VERBOSE;"

Monitoreo y logging

Instala la extensión pg_stat_statements para rastrear las consultas más lentas. Es un "must-have" para cualquier managed pg vps. Añade a la configuración:

shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all

Si tu aplicación utiliza una arquitectura Serverless o Edge, como en el caso de Cloudflare, la migración de la base a un VPS puede requerir la configuración de un proxy. Consulta la guía cómo mudarse de Cloudflare Workers a un VPS para entender los matices de red.

rocket_launch Elección rápida

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Servidores dedicados arrow_forward

Comparación de costos y características

Veamos las cifras reales. Heroku cobra por la conveniencia, pero a medida que la base de datos crece (más de 50 GB), el precio se vuelve desproporcionado respecto a los recursos proporcionados.

Característica Heroku Postgres Premium-2 Valebyte VPS High-Perf Servidor local (Bare Metal)
Pago mensual $350 $45 $120
Memoria RAM 8 GB 16 GB 64 GB
Tipo de disco EBS (Network storage) NVMe (Local) NVMe RAID-1
Downtime en migración 0 (interno en Heroku) ~5-10 min (pg_dump) ~5-10 min

El uso de un VPS permite no solo ahorrar, sino también escalar verticalmente con un solo clic. A diferencia de Heroku, donde el cambio a un nuevo plan puede llevar un tiempo considerable debido a la necesidad de copiar datos entre instancias, en un hosting cloud moderno la expansión del disco o la adición de RAM ocurre de forma casi instantánea.

Seguridad y acceso a la red

Una de las ventajas de Heroku es el aislamiento automático de la base de datos. Al configurar un managed pg vps, debes encargarte tú mismo de la seguridad.

  1. Firewall (UFW/iptables): Cierra el puerto 5432 para todas las IP, excepto la de tu servidor de aplicaciones.
  2. SSL/TLS: Es obligatorio configurar certificados para el cifrado del tráfico entre la aplicación y la base de datos.
  3. Modelo de roles: No utilices el usuario postgres para conectarte desde la aplicación. Crea un rol separado con permisos limitados.
  4. Fail2Ban: Instala protección contra fuerza bruta para SSH y, si es necesario, para el monitoreo de los puertos de la BD.
# Ejemplo de creación de un usuario con permisos limitados
CREATE USER app_user WITH PASSWORD 'contraseña_fuerte';
GRANT CONNECT ON DATABASE mi_nueva_db TO app_user;
GRANT USAGE ON SCHEMA public TO app_user;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;

Conclusiones

La transición de Heroku Postgres a un VPS es la forma más efectiva de escalar tu base de datos reduciendo simultáneamente los costos en un 70-80%. Para un funcionamiento estable, recomendamos utilizar la combinación de PostgreSQL 16+, discos NVMe y la herramienta pgBackRest para la automatización de las copias de seguridad.

¿Listo para elegir un servidor?

VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root total.

Empezar ahora →

Compartir esta publicación:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.