SLONIK_STORE_LISTEN(7)
π SLONIK STORE LISTEN(7) π
okay bestie, welcome to the Slony-I 2.2.11 Documentation page for STORE LISTEN, and yes it's a whole manual page, yes we're gonna read it together, no you cannot skip it π«Ά
β¨ NAME β¨
STORE LISTEN β the glow-up that tells your Slony-I node where to listen for events πβ¨
πΈ SYNOPSIS πΈ
STORE LISTEN (options);
that's it. that's the whole vibe. one call, three-ish options, iconic behavior π
π¦ DESCRIPTION π¦
so, a βlistenβ entry does a very specific little thing: it makes a node (the receiver) go query an event provider for two whole categories of tea β:
- events that originate from one specific node
- confirmations from every existing node (yes, all of them, no you can't opt out)
and here's the catch, bestie β it requires a βpathβ to already exist, so that the receiver (acting as a client) can actually connect to the provider (acting as a server). no path, no connection, no gossip. simple as that π
π the rule of thumb (memorize it, fr fr) π
Every single node in the system must listen for events from every other node in the system. Like, all of them. It's giving group chat where everyone reads everyone's messages, no lurkers allowed π
As a general rule of thumb: a subscriber (peep SLONIK SUBSCRIBE SET(7)) should listen for events of the set's origin on the same provider where it receives the data from. Makes sense, right? Same source, same stream, chef's kiss π
In turn, the origin of the data set should listen for events from the origin in the opposite direction. Yes, it's a two-way street, it's mutuals only, we love a reciprocal relationship π
And here's a fun one: a node can listen for events from one and the same origin on different providers at the same time. Slay, multitasking queen! π§
but wait β to process SYNC events from that origin, all data providers must have the same or higher sync status. So this will not result in any faster replication behaviour. sorry bestie, no speedrun glitch found here π the flex is purely aesthetic.
π the options π
ORIGIN = ivalβ the node ID of the event origin that the receiver is listening for. this is the person you're eavesdropping on πPROVIDER = ivalβ the node ID of the node the receiver gets events from, specifically events that come from the origin. If you don't specify it, the default is the origin itself π―RECEIVER = ivalβ the ID of the node receiving the events. that's the one doing the listening π§
π under the hood π
this whole thing is powered by:
schemadocstorelisten(p_receiver integer, p_provider integer, p_origin integer)
[not available as a man page] β tragic, I know, someone should fix that π
For more details, go read βSlony-I Listen Pathsβ [not available as a man page] β also not a man page, also a tragedy π
β EXAMPLE β
STORE LISTEN ( ORIGIN = 1, RECEIVER = 2, PROVIDER = 3 );
look at that syntax. clean. precise. ate and left no crumbs π₯
π LOCKING BEHAVIOUR π
No application-visible locking should take place. nothing. zero. nada. your app won't even notice, it's giving ghost π»β¨
π¬ SLONIK EVENT CONFIRMATION BEHAVIOUR π¬
Slonik is a polite little thing: it waits for the command submitted to the previous event node to be confirmed on the specified event node before it even thinks about submitting this command. no cutting in line, we queue respectfully π«Ά
π VERSION INFORMATION π
- This command was introduced in Slony-I 1.0 πΆβ¨
- As of version 1.1, you should no longer need to use this command, because listen paths are generated automatically π€π
so basically: iconic in its day, now mostly a legacy flex. still valid, still documented, still here for you if you need it π
and that's the whole page, bestie β slay, you read all of it, main character energy fr fr π
this was Slony-I 2.2.11 Documentation, dated 19 September 2024 β catch you in the next man page, mwah π
π¦ where this page comes from
- debian trixie: slony1-2-doc 2.2.11-6
- ubuntu questing: slony1-2-doc 2.2.11-6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms