pg.ddx.io pgsql-committers@postgresql.org mailing list archive
help / color / mirror / Atom feedprefix - prefix: debian section is now database
2+ messages / 2 participants
[nested] [flat]
* prefix - prefix: debian section is now database
@ 2009-07-09 14:55 User Dim <dim@pgfoundry.org>
0 siblings, 0 replies; 2+ messages in thread
From: dim@pgfoundry.org @ 2009-07-09 14:55 UTC (permalink / raw)
To: pgsql-committers
Log Message:
-----------
debian section is now database
Modified Files:
--------------
prefix/debian:
control (r1.5 -> r1.6)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/prefix/prefix/debian/control?r1=1.5&r2=1.6)
^ permalink raw reply [nested|flat] 2+ messages in thread
* pgsql: Fix false reports in pg_visibility
@ 2024-03-14 11:25 Alexander Korotkov <akorotkov@postgresql.org>
0 siblings, 0 replies; 2+ messages in thread
From: Alexander Korotkov @ 2024-03-14 11:25 UTC (permalink / raw)
To: pgsql-committers@lists.postgresql.org
Fix false reports in pg_visibility
Currently, pg_visibility computes its xid horizon using the
GetOldestNonRemovableTransactionId(). The problem is that this horizon can
sometimes go backward. That can lead to reporting false errors.
In order to fix that, this commit implements a new function
GetStrictOldestNonRemovableTransactionId(). This function computes the xid
horizon, which would be guaranteed to be newer or equal to any xid horizon
computed before.
We have to do the following to achieve this.
1. Ignore processes xmin's, because they consider connection to other databases
that were ignored before.
2. Ignore KnownAssignedXids, because they are not database-aware. At the same
time, the primary could compute its horizons database-aware.
3. Ignore walsender xmin, because it could go backward if some replication
connections don't use replication slots.
As a result, we're using only currently running xids to compute the horizon.
Surely these would significantly sacrifice accuracy. But we have to do so to
avoid reporting false errors.
Inspired by earlier patch by Daniel Shelepanov and the following discussion
with Robert Haas and Tom Lane.
Discussion: https://postgr.es/m/1649062270.289865713%40f403.i.mail.ru
Reviewed-by: Alexander Lakhin, Dmitry Koval
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/e85662df44ff47acdf5d2d413339445d60a9c30c
Modified Files
--------------
contrib/pg_visibility/Makefile | 1 +
contrib/pg_visibility/meson.build | 4 ++
contrib/pg_visibility/pg_visibility.c | 68 ++++++++++++++++++++--
.../pg_visibility/t/001_concurrent_transaction.pl | 47 +++++++++++++++
src/backend/storage/ipc/procarray.c | 13 ++++-
src/include/storage/standby.h | 2 +
6 files changed, 129 insertions(+), 6 deletions(-)
^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2024-03-14 11:25 UTC | newest]
Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2009-07-09 14:55 prefix - prefix: debian section is now database User Dim <dim@pgfoundry.org>
2024-03-14 11:25 pgsql: Fix false reports in pg_visibility Alexander Korotkov <akorotkov@postgresql.org>
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