If you are using Databricks Lakebase Postgres, I think Lakebase CDF is a good fit for this use case.
Since the POS application is already writing to Postgres for OLTP processing, I would keep Postgres as the system of record and use Lakebase CDF to asynchronously propagate the INSERT, UPDATE, and DELETE changes into Delta.
The overall pattern would be:
POS Application โ Lakebase Postgres โ Lakebase CDF โ Delta
And for the reverse direction:
Delta / Unity Catalog โ Lakebase Synced Tables โ Lakebase Postgres
One important point is that these are two separate capabilities rather than a single bidirectional replication feature. CDF provides an append-only change history in Delta, so if you also need a current-state Delta table, you would process the CDF events downstream using a Lakeflow pipeline/streaming approach or a MERGE.
For this use case, it should significantly reduce the need for custom CDC tooling and polling-based table comparisons.
The main things I would consider before using it in production are that Lakebase CDF is currently Public Preview and the source tables need REPLICA IDENTITY FULL enabled.
For a POS workload where PostgreSQL needs to remain responsive for OLTP while Delta is used for analytics.