agentultra / postgresql-replicant

A streaming PostgreSQL logical replication client library for Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Production plans?

shinzui opened this issue · comments

Great job writing a logical decoding package in Haskell. It's an important missing piece in the ecosystem. However, I wonder if you have a production use case for your package so I can feel safer adopting it. I do, but it's risky to be the only production user of it, especially for my use case (outbox pattern in an event-driven architecture).

I do have a prototype for a large production database. We haven't deployed it yet because we've found that for our Postgres server the replication slots are causing slow downs that we're investigating. However nothing I've seen in the library is any cause for concern. Memory profile looks rather acceptable for the artificial benchmarks I've set up. Might be nice to have a load test.

Have you built something with it? Is there anything in particular that's preventing you from trying it out?

I'm personally happy with the API so far. For a low-level library I kind of expect folks will build things on top of it so I want to get to a stable API as soon as possible (meaning that we can stop expecting releases to radically change the API itself).

Thank you for taking the time to reply. I haven't built anything with it yet, but now that I know that you're planning to use it in a production app, I'll use it to prototype whether CDC is the right architecture for my use case. I'm less concerned about breaking API changes since Haskell makes it easy to refactor and more concerned with critical bugs that would cause me to lose messages from being published.