Hi Sasha

On 2021-Jul-14, Sasha Aliashkevich wrote:

>  lp |  ctid   |   xmin    | xmax | xmax_is_lock | xmax_committed | 
> xmax_rolled_back | xmax_multixact 
> ----+---------+-----------+------+--------------+----------------+------------------+----------------
>  19 | (75,21) |       571 |  572 | f            | f              | t          
>       | f              
>  21 | (75,21) |       572 |    0 | f            | f              | t          
>       | f              

Yeah, row 19 here is dead and should have been removed by vacuum (same
with the ones in pg_depend).  I don't know why it wasn't.  If you query
the tables
SELECT * FROM pg_proc WHERE ctid = '(75,19)'
are they visible?  They shouldn't.  If they are visible, maybe try to
UPDATE them, again by ctid; perhaps that will kill them for good.  But
since the txid_status() returns committed, that likely won't work.

Maybe if you try to VACUUM by setting vacuum_freeze_min_age to a high
value (so that it doesn't try to freeze, but only remove them) they are
removed?

(I didn't verify that the values you &-mask the infomask with are
correct.)

-- 
Álvaro Herrera              Valdivia, Chile  —  https://www.EnterpriseDB.com/


Reply via email to