Re: found xmin from before relfrozenxid on pg_catalog.pg_authid - Mailing list pgsql-general

From Maxim Boguk
Subject Re: found xmin from before relfrozenxid on pg_catalog.pg_authid
Date
Msg-id CAK-MWwQEcjoD4No4-yP408+7_-4peNfJ0vYZ1LFXOyJiWtKsUw@mail.gmail.com
Whole thread Raw
In response to Re: found xmin from before relfrozenxid on pg_catalog.pg_authid  (Andres Freund <andres@anarazel.de>)
Responses Re: found xmin from before relfrozenxid on pg_catalog.pg_authid  (Andres Freund <andres@anarazel.de>)
List pgsql-general
Hi Andres,


> ​
> Looking for possible course of action.
> Probably simplest fix - drop and recreate these 6 affected users, but so
> far I willing spent some time research into this issue.

Could you use pageinspect to get the infomasks for the affected tuples?

Greetings,

Andres Freund


​For sample:

postgres=# vacuum pg_catalog.pg_authid;
ERROR:  found xmin 2894889518 from before relfrozenxid 248712603

select ctid, xmin, xmax, cmin, cmax from pg_catalog.pg_authid where xmin::text::bigint=2894889518;
  ctid  |    xmin    | xmax | cmin | cmax
--------+------------+------+------+------
 (1,26) | 2894889518 |    0 |    0 |    0


postgres=# SELECT * FROM heap_page_items(get_raw_page('pg_authid', 1)) where t_ctid::text='(1,26)';
-[ RECORD 1 ]-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lp          | 26
lp_off      | 4656
lp_flags    | 1
lp_len      | 144
t_xmin      | 2894889518
t_xmax      | 0
t_field3    | 0
t_ctid      | (1,26)
t_infomask2 | 32779
t_infomask  | 10507
t_hoff      | 32
t_bits      | 1111111111000000
t_oid       | 189787727

Any new role created in DB instantly affected by this issue.


In the same time:

 select relfrozenxid from pg_class where relname='pg_authid';
 relfrozenxid
--------------
   2863429136

So it's interesting where value of " from before relfrozenxid 248712603" come from.




--
Maxim Boguk
Senior Postgresql DBA
http://dataegret.com/

Phone RU: +7  985 433 0000
Phone UA: +380 99 143 0000
Phone AU: +61  45 218 5678

LinkedIn: http://www.linkedin.com/pub/maksym-boguk/80/b99/b1b
Skype: maxim.boguk

"Доктор, вы мне советовали так не делать, но почему мне по-прежнему больно когда я так делаю ещё раз?"

pgsql-general by date:

Previous
From: Dmitry Igrishin
Date:
Subject: Announcement of a new C++ API to PostgreSQL.
Next
From: Andres Freund
Date:
Subject: Re: found xmin from before relfrozenxid on pg_catalog.pg_authid