pg.ddx.io pgsql-admin@postgresql.org mailing list archive
help / color / mirror / Atom feedReplica and transaction
2+ messages / 2 participants
[nested] [flat]
* Replica and transaction
@ 2025-02-18 16:59 kaido vaikla <kaido.vaikla@gmail.com>
0 siblings, 1 reply; 2+ messages in thread
From: kaido vaikla @ 2025-02-18 16:59 UTC (permalink / raw)
To: pgsql-admin
Hi,
I found a statement:
Long-running transactions can cause replication lag because the changes
made by these transactions are not replicated until the transaction is
committed.
(https://www.percona.com/blog/replication-lag-in-postgresql/)
It means:
change made by transaction is not replicated until the transaction is
committed?
And for example
time0: wal on primary
time1: tx1 begin
time2: tx2 begin
time3: tx2 rollback
time4: tx3 begin
time5: tx3 commit
time6: tx1 commit
time7: walsender sends tx1, tx3 to replica, tx2 skipped because rollback
?
br
Kaido
^ permalink raw reply [nested|flat] 2+ messages in thread
* Re: Replica and transaction
@ 2025-02-19 08:51 Laurenz Albe <laurenz.albe@cybertec.at>
parent: kaido vaikla <kaido.vaikla@gmail.com>
0 siblings, 0 replies; 2+ messages in thread
From: Laurenz Albe @ 2025-02-19 08:51 UTC (permalink / raw)
To: kaido vaikla <kaido.vaikla@gmail.com>; pgsql-admin
On Tue, 2025-02-18 at 18:59 +0200, kaido vaikla wrote:
> I found a statement:
>
> Long-running transactions can cause replication lag because the changes made by
> these transactions are not replicated until the transaction is committed.
> (https://www.percona.com/blog/replication-lag-in-postgresql/)
>
>
> It means:
> change made by transaction is not replicated until the transaction is committed?
>
> And for example
> time0: wal on primary
> time1: tx1 begin
> time2: tx2 begin
> time3: tx2 rollback
> time4: tx3 begin
> time5: tx3 commit
> time6: tx1 commit
> time7: walsender sends tx1, tx3 to replica, tx2 skipped because rollback
> ?
I'd say that the article is talking about streaming replication, and the
statement is manifestly wrong in the context of streaming replication.
All changes, no matter if they are committed or not, will be replicated
right away. They just don't become *visible* before the COMMIT is replayed.
With logical replication, uncommitted changes are not replicated unless
the subscription was created with "streaming" set to something else than
"off".
Yours,
Laurenz Albe
--
*E-Mail Disclaimer*
Der Inhalt dieser E-Mail ist ausschliesslich fuer den
bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene Adressat
dieser E-Mail oder dessen Vertreter sein sollten, so beachten Sie bitte,
dass jede Form der Kenntnisnahme, Veroeffentlichung, Vervielfaeltigung oder
Weitergabe des Inhalts dieser E-Mail unzulaessig ist. Wir bitten Sie, sich
in diesem Fall mit dem Absender der E-Mail in Verbindung zu setzen.
*CONFIDENTIALITY NOTICE & DISCLAIMER
*This message and any attachment are
confidential and may be privileged or otherwise protected from disclosure
and solely for the use of the person(s) or entity to whom it is intended.
If you have received this message in error and are not the intended
recipient, please notify the sender immediately and delete this message and
any attachment from your system. If you are not the intended recipient, be
advised that any use of this message is prohibited and may be unlawful, and
you must not copy this message or attachment or disclose the contents to
any other person.
^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2025-02-19 08:51 UTC | newest]
Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-02-18 16:59 Replica and transaction kaido vaikla <kaido.vaikla@gmail.com>
2025-02-19 08:51 ` Laurenz Albe <laurenz.albe@cybertec.at>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox