Title: Hi HN, we&#x27;re excited to share our open source tool with the community! We previously posted here with the tagline “real-time events for Postgres” [0]. But after feedback from early users and the community, we’ve shifted our focus to working on tooling for manual database changes.<p>We&#x27;ve consistently heard teams describe challenges with the way manual data updates are handled. Seemingly every engineer we spoke with had examples of errant queries that ended up causing significant harm in production environments (data loss&#x2F;service interruptions).<p>We’ve seen a few different approaches to how changes to production databases occur today:<p>Option 1: all engineers have production write access (highest speed, highest risk)<p>Option 2: one or a few engineers have write access (medium speed, high risk)<p>Option 3: engineers request temporary access to make changes (low speed, medium risk)<p>Option 4: all updates are checked into version control and run manually or through CI&#x2F;CD (low speed, low risk)<p>Option 5: no manual updates are made - all changes must go through an internal endpoint (lowest speed, lowest risk)<p>Our goal is to enable high speed changes with the lowest risk possible. We’re planning to do this by providing an open-source toolkit for safeguarding databases, including the following features:<p>- Alerts (available now): Receive notifications any time a manual change occurs<p>- Audit History (beta): View all historical manual changes with context<p>- Query Preview (coming soon): Preview affected rows and query plan prior to running changes<p>- Approval Flow (coming soon): Require query review before a change can be run<p>We’re starting with alerts. Teams can receive Slack notifications anytime an INSERT, UPDATE, or DELETE is executed from a non-application database user. While this doesn’t prevent issues from occurring, it does enable an initial level of traceability and understanding who made an update, what data was changed, and when it occurred.<p>We’d love to hear feedback from the HN community on how you’ve seen database changes handled, pain points you’ve experienced with data change processes, or generally any feedback on our thinking and approach.<p>[0] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34828169" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34828169</a>
Upvote: