My goal: Can CDC (Change Data Capture) be enabled in ReTool's Postgress database to connect to AWS DMS (Database Migration Service) to extract data deltas and monitor the changelog?
Additional info: Self-hosted
My goal: Can CDC (Change Data Capture) be enabled in ReTool's Postgress database to connect to AWS DMS (Database Migration Service) to extract data deltas and monitor the changelog?
Additional info: Self-hosted
Hello @Genna_Schwarz!
Great question, from what I have found, this can be done. But Retool's Postgres is not set up for this to work by default so there will be some configuration to the DB needed and some decisions made about how you want this set up based on your needs.
Some Retool tables contain data that is most likely not very useful, so if I better understand your use case I can better help.
Do you want to track changes in data your app writes?
If your goal is to capture changes to data created or modified by Retool apps (your tables):
If your goal is to stream Retool’s internal metadata (apps, permissions, etc.):
Let me know which you are looking to acomplish ![]()
The goal is to to capture changes to data created or modified by Retool apps (your tables).
If I join office hours, could somebody help me set this up there? Could you please confirm it is possible for Cloud as well? Thanks!
@Jack_T Thanks for your help in office hours! I had to jump to another call, so I rushed out of there. I have sent the audit logs over to the customer for review and they will get back to me on whether or not that covers their use case and if they are a business/enterprise customer. If you find any additional information, please let me know!
Hi @Genna_Schwarz,
No worries, thanks for dropping in to follow up on this ![]()
My main question is, when you mentioned in your original post "Retool's Postgres database", are you referring to a Postgres Database that has been set up on its own and connected via Resource/Query, or are you referring to the 'built-in' Retool Storage (which is a Postgres DB under the hood, which we host)?
If the Postgres DB is hosted separately from Retool, you can definitely set up CDC and have the tooling track what changes are coming from Retool(via change source/IP) without needing to go through Retool's Audit Log tools.
The audit logs we have are going to be able to list out the name of the query run, and has a changeSet to share what data has been created/updated, but it doesn't include the ID so it has limitations in terms of being able to know which row has been updated ![]()
@Jack_T Thanks for your response! Response from customer:
We are referring to the 'built-in' Retool Storage. Audit logs would not cover our use case. We are considering a direct CDC to built-in Retool Storage and extract data.
Ok perfect that answers my questions.
Bad news is CDC isn't possible for Retool Storage since it is not exposed at the WAL / log level ![]()
Good news is that the customer should in all likelihood not being using Retool Storage as their primary DB so if they move their data tables from Retool Storage to an external DB, they will be able to avoid other limitations that Retool Storage has and be able to set up CDC.
If you have any more details on the customers DB needs and their use case I can best help direct them to an optimal solution for their needs and CDC set up.
It is explicitly not intended for:
Think of it as:
“Durable app state,” not “a source of truth database.”