Integració

Sincronització en temps real entre Salesforce i PostgreSQL: bidireccional, operativa i sota el seu control

El seu producte funciona sobre PostgreSQL i el seu equip comercial treballa a Salesforce. Quan es tanca una oportunitat, l'aplicació ho hauria de saber en segons; quan un usuari millora el seu pla a l'aplicació, el responsable del compte ho hauria de veure a Salesforce sense esperar el procés d'aquesta nit. Dissenyem i operem sincronització bidireccional en temps real entre Salesforce i PostgreSQL, normalment amb Stacksync, del qual som partner oficial, i amb un pipeline de Change Data Capture a mida quan el control del sistema o el volum ho demanen.

Reserva una trucada de 30 min →

30 minuts · Sense compromís · Català, castellà, anglès i portuguès

Partner d'implementació de Celigo · Partner de Stacksync · Enginyers sènior amb base a Espanya

Resposta curta: una sincronització entre Salesforce i PostgreSQL de la qual depèn la seva aplicació necessita tres coses que un procés ETL no ofereix: canvis en segons, escriptures en totes dues direccions i una regla per a quan els dos costats editen el mateix registre. Hi ha tres maneres realistes d'aconseguir-ho: una plataforma de sincronització gestionada com Stacksync, un pipeline propi sobre Salesforce Change Data Capture, o Heroku Connect per als equips que ja són a Heroku Postgres. A la majoria de les empreses mid-market els convé la primera.

La sincronització operativa no és ETL

ETL i reverse ETL mouen dades segons una programació, gairebé sempre en una sola direcció, perquè algú les analitzi després. És l'eina adequada per a un data warehouse. És l'equivocada quan la seva aplicació llegeix la taula de PostgreSQL en el moment de cada petició, o quan un agent de suport edita un registre a Salesforce i espera que l'aplicació el reflecteixi abans que el client torni a trucar.

La sincronització operativa tracta els dos sistemes com un únic conjunt de dades que es manté coherent. Això canvia els requisits:

  • La latència es mesura en segons, no en finestres de processament per lots.
  • Els dos costats escriuen. Salesforce és propietari d'uns camps, PostgreSQL d'uns altres, i alguns s'editen a tots dos.
  • Les fallades es veuen. Una actualització perduda és una pantalla incorrecta davant d'un client, no un dashboard una mica desfasat.

Si només necessita analítica, un pipeline unidireccional cap a un data warehouse és més senzill i més barat; la nostra guia sobre Salesforce a Snowflake en temps real sense Heroku Connect cobreix aquest camí. Aquesta pàgina tracta el cas operatiu.

Tres maneres de sincronitzar Salesforce i PostgreSQL

1. Una plataforma gestionada de sincronització bidireccional (Stacksync). Stacksync connecta Salesforce amb PostgreSQL i altres bases de dades mitjançant sincronització bidireccional en temps real, amb el mapatge de camps i el monitoratge inclosos. Vostè no opera cap infraestructura de pipeline. Whalesync ofereix una sincronització bidireccional semblant entre Salesforce i Postgres. És la via més ràpida cap a producció i la que recomanem quan la sincronització és crítica però no és el seu producte.

2. Un pipeline propi sobre Salesforce Change Data Capture. Salesforce publica un esdeveniment de canvi cada vegada que un registre d'un objecte subscrit es crea, s'actualitza, s'elimina o es recupera, i el lliura a través de la Pub/Sub API, basada en gRPC. Els esdeveniments es conserven al bus d'esdeveniments 72 hores i es poden tornar a llegir des d'un replay ID desat. CDC només flueix cap a fora de Salesforce: l'escriptura de tornada necessita un camí a part a través de la REST API o la Bulk API 2.0, i la càrrega inicial també requereix la Bulk API 2.0. Aquest camí li dona el control total i li costa un pipeline que cal construir, operar i vigilar amb guàrdies.

3. Heroku Connect (heretat). Heroku Connect sincronitza Salesforce amb una base de dades Heroku Postgres, en només lectura o en lectura i escriptura. Llegeix per sondeig (polling), amb un mode opcional de sondeig accelerat que escolta a través de la Streaming API o de CDC, i escriu de tornada sondejant una taula de registre de triggers a Postgres. Només treballa amb Heroku Postgres i, des del febrer de 2026, Heroku funciona sota un model de «sustaining engineering», centrat en l'estabilitat i no en funcionalitats noves.

Sincronització bidireccional entre Salesforce i PostgreSQL: els esdeveniments de canvi i la càrrega massiva van de Salesforce a PostgreSQL, i els canvis de la base de dades tornen per la REST API o la Bulk API

El que una sincronització bidireccional ha de resoldre bé

La sincronització bidireccional falla en llocs previsibles. Triï l'opció que triï, aquestes són les peces que dissenyem i provem abans del go-live:

  1. Propietat per camp. Decideixi quin sistema és la font de veritat de cada camp i quins camps s'editen realment a tots dos costats. La majoria dels conflictes desapareixen tan bon punt això queda per escrit.
  2. Resolució de conflictes. Quan els dos costats canvien el mateix registre, decideix una regla: guanya l'última escriptura, guanya sempre un sistema, o una regla per camp. Ha de ser explícita, no un accident de temps.
  3. Prevenció de bucles. Un canvi escrit a PostgreSQL no ha de tornar a Salesforce com un canvi nou, ni a l'inrevés. Les escriptures idempotents i el registre de l'origen de cada canvi tallen l'eco.
  4. Càrrega inicial i enganxament. La primera còpia de les dades arriba en bloc; el flux en viu ha de començar en un punt que s'hi solapi, o tindrà duplicats o forats.
  5. Eliminacions i fusions. Els registres de Salesforce eliminats, recuperats o fusionats necessiten una regla explícita a PostgreSQL, o la base de dades s'anirà omplint de fantasmes.
  6. Canvis d'esquema. Els administradors afegeixen camps. La sincronització ha de detectar un camp nou a Salesforce i mapejar-lo o avisar, en lloc de descartar-lo en silenci.
  7. Límits d'API. Salesforce limita les crides a l'API i el lliurament d'esdeveniments per org. Una sincronització que els ignori acabarà escanyant les seves altres integracions.
  8. Recuperació. Si el consumidor està aturat més de les 72 hores de la finestra de replay de CDC, només una reconciliació completa contra una instantània massiva restableix la coherència. Planifiqui-la abans de necessitar-la.

Taula comparativa

Stacksync (gestionat) Pipeline de CDC propi Heroku Connect
Direcció Bidireccional Salesforce → Postgres amb CDC; escriptura de tornada construïda a part Només lectura o lectura i escriptura
Com es detecten els canvis Motor de sincronització en temps real, gestionat Esdeveniments CDC per la Pub/Sub API Sondeig, amb sondeig accelerat opcional
Destinacions PostgreSQL Qualsevol PostgreSQL que vostè operi Qualsevol PostgreSQL que vostè operi Només Heroku Postgres
Càrrega inicial Inclosa La construeix vostè (Bulk API 2.0) Inclosa
Regles de conflicte, prevenció de bucles Es configuren Les construeix vostè Integrades, amb poc control
Què opera vostè Configuració i monitoratge Tot el pipeline L'add-on de Heroku
Encaixa millor Sincronització crítica, equip de plataforma petit La sincronització és propietat intel·lectual clau, equip de dades sòlid Aplicacions que ja són a Heroku, sense migració prevista encara

Llegeixi primer l'última fila. Si la sincronització és un mitjà, compri-la. Si forma part del que vostè ven, o els seus volums i les seves normes de compliment fan incòmoda una plataforma, construeixi-la. La nostra anàlisi build vs buy per substituir Heroku Connect aprofundeix en aquest equilibri, i Salesforce CDC davant Heroku Connect explica què cobreix CDC i què no.

Deixar Heroku Connect

Heroku Connect continua funcionant, i res del que s'ha anunciat fins ara fixa una data de final. El que ha canviat és la direcció: Heroku és en mode de sustaining engineering, i Heroku Connect només sincronitza amb Heroku Postgres. Els equips que traslladen la base de dades a Amazon RDS, Cloud SQL, Neon o als seus propis servidors perden Heroku Connect pel camí.

Una migració des de Heroku Connect té una forma coneguda: inventariar cada mapatge, reconstruir cada flux a la nova sincronització en mode ombra de només lectura, comparar recomptes de files i valors, passar les escriptures objecte per objecte i, finalment, retirar l'add-on. La nostra guia de migració pel final de vida de Heroku Connect la recorre pas a pas.

Què implementem

  • Arquitectura de sincronització: quins objectes, en quina direcció, quin sistema és propietari de cada camp i les regles de conflicte, per escrit abans de configurar res.
  • Implantació de Stacksync, com a partner oficial de Stacksync: connexions, mapatge de camps, conversió de tipus, filtres i alertes, provats primer contra un sandbox de Salesforce.
  • Pipelines de CDC a mida quan una plataforma no encaixa: consumidors de la Pub/Sub API, càrrega retroactiva amb la Bulk API 2.0, escriptura de tornada idempotent, tasques de replay i de reconciliació.
  • Migracions des de Heroku Connect, amb execució en paral·lel i un pla de tall per objecte.
  • Suport en producció: monitoratge, canvis d'esquema a mesura que evoluciona la seva org de Salesforce i un enginyer assignat que coneix la seva configuració.

Com es desenvolupa un projecte

  1. Descoberta. Revisem els seus objectes de Salesforce, el seu esquema de PostgreSQL i els fluxos que necessita la seva aplicació, i li recomanem Stacksync o un desenvolupament a mida, amb els motius.
  2. Disseny. Propietat dels camps, direcció, regles de conflicte, tractament de les eliminacions i alertes, acordats amb el seu equip.
  3. Construcció en sandbox. Càrrega inicial completa i sincronització en viu contra un sandbox de Salesforce i una còpia de la seva base de dades.
  4. Execució en paral·lel. La nova sincronització funciona al costat del que fa servir avui fins que les dades coincideixen.
  5. Go-live i traspàs. Tall objecte per objecte, runbook i monitoratge en marxa, suport després del llançament.

Fonts

Preguntes freqüents

Salesforce i PostgreSQL es poden sincronitzar en temps real en totes dues direccions?

Sí. Plataformes gestionades com Stacksync i Whalesync ofereixen sincronització bidireccional entre Salesforce i PostgreSQL. Amb un desenvolupament propi, Salesforce Change Data Capture cobreix la direcció de Salesforce a PostgreSQL i un camí d'escriptura a part, per la REST API o la Bulk API 2.0, cobreix la tornada.

N'hi ha prou amb Salesforce Change Data Capture tot sol?

No. CDC és un flux unidireccional d'esdeveniments de canvi que surten de Salesforce i es conserven 72 hores. No carrega les dades existents, no escriu de tornada a Salesforce ni resol conflictes. Aquestes capes són les que converteixen CDC en una sincronització, i o bé les construeix vostè o bé fa servir una plataforma que les inclogui.

Què és la replicació bidireccional entre Salesforce i una base de dades?

Vol dir que els canvis fets en qualsevol dels dos sistemes arriben a l'altre: un registre editat a Salesforce actualitza la fila corresponent a PostgreSQL, i una fila modificada per la seva aplicació actualitza Salesforce. Perquè funcioni de manera fiable necessita una propietat clara dels camps, una regla de conflictes i prevenció de bucles.

En què es diferencia d'ETL o reverse ETL?

ETL i reverse ETL mouen dades per lots, normalment en una sola direcció, per a analítica o enriquiment. La sincronització operativa manté coherents dos sistemes vius en segons i en totes dues direccions, perquè una aplicació llegeix les dades en el moment de cada petició.

Què pot substituir Heroku Connect?

Una plataforma de sincronització gestionada com Stacksync, o un pipeline propi sobre Salesforce CDC; tots dos funcionen amb qualsevol PostgreSQL, no només amb Heroku Postgres. Per a fluxos exclusivament analítics, un pipeline unidireccional cap a un data warehouse sol ser més senzill.

Funciona amb Amazon RDS, Cloud SQL, Neon o PostgreSQL en servidors propis?

Stacksync i un pipeline de CDC propi funcionen amb PostgreSQL allà on sigui, sempre que la sincronització hi pugui arribar de manera segura. Heroku Connect és l'excepció: només sincronitza amb Heroku Postgres.

La sincronització consumeix límits d'API de Salesforce?

Sí, totes les opcions en consumeixen. Llegir per esdeveniments amb CDC és més lleuger que sondejar sovint, però les escriptures, les càrregues massives i les reconciliacions compten contra els límits de la seva org. Dimensionem la sincronització segons les assignacions de la seva org abans del go-live.

Propers passos

Digui'ns quins objectes de Salesforce han de viure a PostgreSQL

Mapejarem els objectes, la direcció de cada flux i les regles de conflicte, i li direm amb franquesa si li convé Stacksync o un pipeline de CDC a mida.

Reserva una trucada de 30 min →

30 minuts · Sense compromís · Català, castellà, anglès i portuguès

← Totes les integracions

An unhandled error has occurred. Reload 🗙