backend_xmin in pg_stat_replication

From: Torsten Förtsch <tfoertsch123(at)gmail(dot)com>
To: PostgreSQL mailing lists <pgsql-general(at)postgresql(dot)org>
Subject: backend_xmin in pg_stat_replication
Date: 2018-10-01 10:20:26
Message-ID: CAKkG4_nHbvF7K6k1AAwdOQ=3fXbSWNe_n_v7JLTAvn=K_ADRag@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

if I understand it correctly, backend_xmin in pg_stat_replication is the
xmin that's reported back by hot_standby_feedback. Given there are no
long-running transactions on the replica, I presume that value should be
pretty close to the xmin field of any recent snapshots on the master. This
is true for all my databases but one:

select application_name,
txid_snapshot_xmin(txid_current_snapshot()),
backend_xmin::TEXT::BIGINT,

txid_snapshot_xmin(txid_current_snapshot())-backend_xmin::TEXT::BIGINT
from pg_stat_replication;

application_name | txid_snapshot_xmin | backend_xmin | ?column?
------------------+--------------------+--------------+------------
xxxxxxxxxx | 6957042833 | 2662075435 | 4294967398

Over time, that backend_xmin is slowly advancing.

If I call txid_current_snapshot() in a new session on the replica, I get
reasonable numbers but the backend_xmin in pg_stat_activity is equally off.

select backend_xmin, txid_current_snapshot()
from pg_stat_activity
where backend_xmin is not null;

backend_xmin | txid_current_snapshot
--------------+------------------------
2662207433 | 6957174729:6957174729:

Is that expected behavior? Or is there anything wrong?

All other backends are idle and all but one pretty fresh. One has been
running for about 2 months with short-lasting transactions every now and
again.

Thanks,
Torsten

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dean Rasheed 2018-10-01 11:02:09 Re: Postgres trigger side-effect is occurring out of order with row-level security select policy
Previous Message Dmitry Igrishin 2018-10-01 09:24:36 Re: libpq.dll question