Integración

Sincronización en tiempo real entre Salesforce y PostgreSQL: bidireccional, operativa y bajo su control

Su producto funciona sobre PostgreSQL y su equipo comercial trabaja en Salesforce. Cuando se cierra una oportunidad, la aplicación debería saberlo en segundos; cuando un usuario mejora su plan en la aplicación, el responsable de la cuenta debería verlo en Salesforce sin esperar al proceso de esta noche. Diseñamos y operamos sincronización bidireccional en tiempo real entre Salesforce y PostgreSQL, normalmente con Stacksync, del que somos partner oficial, y con un pipeline de Change Data Capture a medida cuando la propiedad del sistema o el volumen lo exigen.

Reserva una llamada de 30 min →

30 minutos · Sin compromiso · Español, inglés, portugués y catalán

Partner de implementación de Celigo · Partner de Stacksync · Ingenieros sénior con base en España

Respuesta corta: una sincronización entre Salesforce y PostgreSQL de la que depende su aplicación necesita tres cosas que un proceso ETL no ofrece: cambios en segundos, escrituras en ambas direcciones y una regla para cuando los dos lados editan el mismo registro. Hay tres formas realistas de conseguirlo: una plataforma de sincronización gestionada como Stacksync, un pipeline propio sobre Salesforce Change Data Capture, o Heroku Connect para los equipos que ya están en Heroku Postgres. A la mayoría de las empresas mid-market les conviene la primera.

La sincronización operativa no es ETL

ETL y reverse ETL mueven datos según una programación, casi siempre en una sola dirección, para que alguien los analice después. Es la herramienta adecuada para un data warehouse. Es la equivocada cuando su aplicación lee la tabla de PostgreSQL en el momento de cada petición, o cuando un agente de soporte edita un registro en Salesforce y espera que la aplicación lo refleje antes de que el cliente vuelva a llamar.

La sincronización operativa trata los dos sistemas como un único conjunto de datos que se mantiene coherente. Eso cambia los requisitos:

  • La latencia se mide en segundos, no en ventanas de proceso por lotes.
  • Los dos lados escriben. Salesforce es dueño de unos campos, PostgreSQL de otros, y algunos se editan en ambos.
  • Los fallos se ven. Una actualización perdida es una pantalla incorrecta delante de un cliente, no un dashboard algo desfasado.

Si solo necesita analítica, un pipeline unidireccional hacia un data warehouse es más sencillo y más barato; nuestra guía sobre Salesforce a Snowflake en tiempo real sin Heroku Connect cubre ese camino. Esta página trata el caso operativo.

Tres formas de sincronizar Salesforce y PostgreSQL

1. Una plataforma gestionada de sincronización bidireccional (Stacksync). Stacksync conecta Salesforce con PostgreSQL y otras bases de datos mediante sincronización bidireccional en tiempo real, con mapeo de campos y monitorización incluidos. Usted no opera ninguna infraestructura de pipeline. Whalesync ofrece una sincronización bidireccional similar entre Salesforce y Postgres. Es la vía más rápida a producción y la que recomendamos cuando la sincronización es crítica pero no es su producto.

2. Un pipeline propio sobre Salesforce Change Data Capture. Salesforce publica un evento de cambio cada vez que un registro de un objeto suscrito se crea, se actualiza, se elimina o se recupera, y lo entrega a través de la Pub/Sub API, basada en gRPC. Los eventos permanecen en el bus de eventos 72 horas y pueden volver a leerse desde un replay ID guardado. CDC solo fluye hacia fuera de Salesforce: la escritura de vuelta necesita un camino aparte a través de la REST API o la Bulk API 2.0, y la carga inicial también requiere la Bulk API 2.0. Este camino le da el control total y le cuesta un pipeline que construir, operar y vigilar con guardias.

3. Heroku Connect (heredado). Heroku Connect sincroniza Salesforce con una base de datos Heroku Postgres, en solo lectura o en lectura y escritura. Lee mediante sondeo (polling), con un modo opcional de sondeo acelerado que escucha a través de la Streaming API o de CDC, y escribe de vuelta sondeando una tabla de registro de triggers en Postgres. Solo trabaja con Heroku Postgres y, desde febrero de 2026, Heroku funciona bajo un modelo de «sustaining engineering», centrado en la estabilidad y no en funcionalidades nuevas.

Sincronización bidireccional entre Salesforce y PostgreSQL: los eventos de cambio y la carga masiva van de Salesforce a PostgreSQL, y los cambios de la base de datos vuelven por la REST API o la Bulk API

Lo que una sincronización bidireccional tiene que resolver bien

La sincronización bidireccional falla en sitios previsibles. Elija la opción que elija, estas son las piezas que diseñamos y probamos antes del go-live:

  1. Propiedad por campo. Decida qué sistema es la fuente de verdad de cada campo y qué campos se editan realmente en ambos lados. La mayoría de los conflictos desaparecen en cuanto esto queda por escrito.
  2. Resolución de conflictos. Cuando los dos lados cambian el mismo registro, decide una regla: gana la última escritura, gana siempre un sistema, o una regla por campo. Tiene que ser explícita, no un accidente de sincronización temporal.
  3. Prevención de bucles. Un cambio escrito en PostgreSQL no debe volver a Salesforce como un cambio nuevo, ni al revés. Las escrituras idempotentes y el registro del origen de cada cambio cortan el eco.
  4. Carga inicial y enganche. La primera copia de los datos llega en bloque; el flujo en vivo tiene que empezar en un punto que se solape con ella, o tendrá duplicados o huecos.
  5. Eliminaciones y fusiones. Los registros de Salesforce eliminados, recuperados o fusionados necesitan una regla explícita en PostgreSQL, o la base de datos se va llenando de fantasmas.
  6. Cambios de esquema. Los administradores añaden campos. La sincronización tiene que detectar un campo nuevo en Salesforce y mapearlo o avisar, en lugar de descartarlo en silencio.
  7. Límites de API. Salesforce limita las llamadas a la API y la entrega de eventos por org. Una sincronización que los ignore acabará estrangulando sus otras integraciones.
  8. Recuperación. Si el consumidor está caído más de las 72 horas de la ventana de replay de CDC, solo una reconciliación completa contra una instantánea masiva restablece la coherencia. Planifíquela antes de necesitarla.

Tabla comparativa

Stacksync (gestionado) Pipeline de CDC propio Heroku Connect
Dirección Bidireccional Salesforce → Postgres con CDC; escritura de vuelta construida aparte Solo lectura o lectura y escritura
Cómo se detectan los cambios Motor de sincronización en tiempo real, gestionado Eventos CDC por la Pub/Sub API Sondeo, con sondeo acelerado opcional
Destinos PostgreSQL Cualquier PostgreSQL que usted opere Cualquier PostgreSQL que usted opere Solo Heroku Postgres
Carga inicial Incluida La construye usted (Bulk API 2.0) Incluida
Reglas de conflicto, prevención de bucles Se configuran Las construye usted Integradas, con poco control
Qué opera usted Configuración y monitorización Todo el pipeline El add-on de Heroku
Encaja mejor Sincronización crítica, equipo de plataforma pequeño La sincronización es propiedad intelectual clave, equipo de datos sólido Aplicaciones que ya están en Heroku, sin migración prevista todavía

Lea primero la última fila. Si la sincronización es un medio, cómprela. Si forma parte de lo que usted vende, o sus volúmenes y sus normas de cumplimiento hacen incómoda una plataforma, constrúyala. Nuestro análisis build vs buy para sustituir Heroku Connect profundiza en ese equilibrio, y Salesforce CDC frente a Heroku Connect explica qué cubre CDC y qué no.

Salir de Heroku Connect

Heroku Connect sigue funcionando, y nada de lo anunciado hasta ahora fija una fecha de fin. Lo que ha cambiado es la dirección: Heroku está en modo de sustaining engineering, y Heroku Connect solo sincroniza con Heroku Postgres. Los equipos que trasladan su base de datos a Amazon RDS, Cloud SQL, Neon o a sus propios servidores pierden Heroku Connect por el camino.

Una migración desde Heroku Connect tiene una forma conocida: inventariar cada mapeo, reconstruir cada flujo en la nueva sincronización en modo sombra de solo lectura, comparar recuentos de filas y valores, pasar las escrituras objeto a objeto y, por último, retirar el add-on. Nuestra guía de migración por el fin de vida de Heroku Connect la recorre paso a paso.

Qué implementamos

  • Arquitectura de sincronización: qué objetos, en qué dirección, qué sistema es dueño de cada campo y las reglas de conflicto, por escrito antes de configurar nada.
  • Implantación de Stacksync, como partner oficial de Stacksync: conexiones, mapeo de campos, conversión de tipos, filtros y alertas, probados primero contra un sandbox de Salesforce.
  • Pipelines de CDC a medida cuando una plataforma no encaja: consumidores de la Pub/Sub API, carga retroactiva con la Bulk API 2.0, escritura de vuelta idempotente, trabajos de replay y de reconciliación.
  • Migraciones desde Heroku Connect, con ejecución en paralelo y un plan de corte por objeto.
  • Soporte en producción: monitorización, cambios de esquema a medida que evoluciona su org de Salesforce y un ingeniero asignado que conoce su configuración.

Cómo se desarrolla un proyecto

  1. Descubrimiento. Revisamos sus objetos de Salesforce, su esquema de PostgreSQL y los flujos que necesita su aplicación, y le recomendamos Stacksync o un desarrollo a medida, con los motivos.
  2. Diseño. Propiedad de los campos, dirección, reglas de conflicto, tratamiento de eliminaciones y alertas, acordados con su equipo.
  3. Construcción en sandbox. Carga inicial completa y sincronización en vivo contra un sandbox de Salesforce y una copia de su base de datos.
  4. Ejecución en paralelo. La nueva sincronización funciona junto a lo que utiliza hoy hasta que los datos coinciden.
  5. Go-live y traspaso. Corte objeto a objeto, runbook y monitorización en marcha, soporte después del lanzamiento.

Fuentes

Preguntas frecuentes

¿Pueden Salesforce y PostgreSQL sincronizarse en tiempo real en ambas direcciones?

Sí. Plataformas gestionadas como Stacksync y Whalesync ofrecen sincronización bidireccional entre Salesforce y PostgreSQL. Con un desarrollo propio, Salesforce Change Data Capture cubre la dirección de Salesforce a PostgreSQL y un camino de escritura aparte, por la REST API o la Bulk API 2.0, cubre la vuelta.

¿Basta con Salesforce Change Data Capture por sí solo?

No. CDC es un flujo unidireccional de eventos de cambio que salen de Salesforce y se conservan 72 horas. No carga los datos existentes, no escribe de vuelta en Salesforce ni resuelve conflictos. Esas capas son las que convierten CDC en una sincronización, y o las construye usted o utiliza una plataforma que las incluya.

¿Qué es la replicación bidireccional entre Salesforce y una base de datos?

Significa que los cambios hechos en cualquiera de los dos sistemas llegan al otro: un registro editado en Salesforce actualiza la fila correspondiente en PostgreSQL, y una fila modificada por su aplicación actualiza Salesforce. Para que funcione con fiabilidad necesita una propiedad clara de los campos, una regla de conflictos y prevención de bucles.

¿En qué se diferencia de ETL o reverse ETL?

ETL y reverse ETL mueven datos por lotes, normalmente en una sola dirección, para analítica o enriquecimiento. La sincronización operativa mantiene coherentes dos sistemas vivos en segundos y en ambas direcciones, porque una aplicación lee los datos en el momento de cada petición.

¿Qué puede sustituir a Heroku Connect?

Una plataforma de sincronización gestionada como Stacksync, o un pipeline propio sobre Salesforce CDC; ambos funcionan con cualquier PostgreSQL, no solo con Heroku Postgres. Para flujos exclusivamente analíticos, un pipeline unidireccional hacia un data warehouse suele ser más sencillo.

¿Funciona con Amazon RDS, Cloud SQL, Neon o PostgreSQL en servidores propios?

Stacksync y un pipeline de CDC propio funcionan con PostgreSQL esté donde esté, siempre que la sincronización pueda llegar a él de forma segura. Heroku Connect es la excepción: solo sincroniza con Heroku Postgres.

¿La sincronización consume límites de API de Salesforce?

Sí, todas las opciones lo hacen. Leer por eventos con CDC es más ligero que sondear con frecuencia, pero las escrituras, las cargas masivas y las reconciliaciones cuentan contra los límites de su org. Dimensionamos la sincronización según las asignaciones de su org antes del go-live.

Próximos pasos

Díganos qué objetos de Salesforce tienen que vivir en PostgreSQL

Mapearemos los objetos, la dirección de cada flujo y las reglas de conflicto, y le diremos con franqueza si le conviene Stacksync o un pipeline de CDC a medida.

Reserva una llamada de 30 min →

30 minutos · Sin compromiso · Español, inglés, portugués y catalán

← Todas las integraciones

An unhandled error has occurred. Reload 🗙