HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
confluentinc
bottledwater-pg
HISTORICAL RECORD2015–2020
confluentinc / bottledwater-pg · Not publicly available

bottledwater-pg

Discover this repository through its Hacker News conversations.

12Distinct people
15Mentions
0Explicit recommenders
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:02:44 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year15 dated mentions

Observed mentions: 2015-04-27 14:50:22 UTC to 2020-11-16 17:53:45 UTC.

024682015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC110
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC817
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101

What Hacker News says

8 sources
Short answer no, it doesn't (at least now, release 1 week ago :) ), but dismissing it only for that would be a superficial look. Most cases don't need those guarantees, i.e. you can tolerate a few lost messages. For example, you are implementing real time updates in your app using this. What's the probability of a network glitch happening at the same time as two users being logged in at the same time in one system where an event produced by one needs to be synced to the other, even more, say he lost that event, is it that critical considering he will soon move to another screen and reload the data entirely? From rabbitmq point of view, db&bridge are producers. You are really asking here, does the "producer" guarantee delivery? To do that, it means the producer needs to become himself a "queue" system in case he fails to communicate with
Read the rest
rabbit. Considering we are talking web here, the producers are usually scripts invoked by a http call so there is no such guarantee in any system (when communication to rabbitmq fails). However i think network (in the datacenter) is quite reliable so there is no point in overengineering for that case. If the system can tolerate a few seconds of downtime, it's easy enough to implement a heartbeat system which would restart this tool in case it's needed, also, you can run 2-3 of them to make it redundant then use corelationId to dedup the messages. A more robust tool would be https://github.com/confluentinc/bottledwater-pg but it's for kafka and the major downside for me is that it cant be used with RDS since it's installed as a plugin to postgresql
In What is ‘skip locked’ for in PostgreSQL 9.5? (2016)
This tool enables a decoupled architecture. A simple example is sending emails when a user signs up. Instead of having explicit code in your signup function that does the work (and slows down your response), you just have to worry about inserting the row into the database. After this, a database trigger will generate an event which gets sent to RabbitMQ. From there, you can have multiple consumers reacting to that event (email, sms, log, cache). Those consumers tend to be very short, self contained scripts. A more complex example is if you pair pg-amqp-bridge and the Web STOMP plugin for RabbitMQ, you can enable flexible and robust real time updates with almost zero code for your frontend. The larger goal is to enable the development of backends around PostgREST [1] / subZero [2] philosophy. Check out the PostgREST Starter Kit [3] to see
Read the rest
how pg-amqp-bridge fits in a larger project. Similar work (for kafka) is bottledwater-pg [4] which has a nice blog post [5] explaining the benefits of the architecture [1] https://github.com/begriffs/postgrest [2] https://subzero.cloud [3] https://github.com/subzerocloud/postgrest-starter-kit [4] https://github.com/confluentinc/bottledwater-pg [5] https://www.confluent.io/blog/bottled-water-real-time-integr...
In Show HN: pg-amqp-bridge – Send Messages from PostgreSQL to RabbitMQ (rust)
There are actually a few strong solutions out there for Mysql, most starting with change data capture like: https://github.com/shyiko/mysql-binlog-connector-java (I link that one in particular because he links to alternatives right in his readme!) Pgsql is a bit harder, but if I needed to start somewhere it would be with: https://github.com/debezium/debezium or https://github.com/confluentinc/bottledwater-pg These are the start of pretty sophisticated solutions where you need super real-time elasticsearch indexes and can bring up infra like Kafka. For many applications, queueing an update when something hits your ORM to update, with the hourly/daily refresh is pretty satisfactory.
In Moving persistent data out of Redis

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.