Re: Replication slot WAL reservation

From: Christophe Pettus <xof(at)thebuild(dot)com>
To: Phillip Diffley <phillip6402(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Replication slot WAL reservation
Date: 2025-03-26 04:32:26
Message-ID: 3CBAE3E1-4ECB-4936-908E-3F03B79886F8@thebuild.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> On Mar 25, 2025, at 20:56, Phillip Diffley <phillip6402(at)gmail(dot)com> wrote:
>
> Is there a message type that is used to confirm what logs have been successfully consumed?

You're looking for Standby Status Update:

https://www.postgresql.org/docs/current/protocol-replication.html#PROTOCOL-REPLICATION-STANDBY-STATUS-UPDATE

The logical replication protocol is a superset of the binary replication protocol, so many of the same messages are used.

> The part I am uncertain about is what "after" means here, since LSNs are not presented in order, and the order of data streamed over the replication slot does not match the order of the data in the WAL.

I think there's a misunderstanding here (possibly my fault). Transactions are always presented to the output plugin in commit order, and LSNs can be reliably used to determine the time ordering of commits. LSNs are exactly what is used to determine how far into the WAL the replication slot has gotten.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tony Shelver 2025-03-26 05:33:26 Re: How to pass a list of locations (longitude, latitude) to a PostgreSQL/PostGIS stored function?
Previous Message Phillip Diffley 2025-03-26 03:56:38 Re: Replication slot WAL reservation