this function didn't work to know if a row can surely dead? http://doxygen.postgresql.org/tqual_8c_source.html#l01236
>________________________________ > De: Tom Lane <t...@sss.pgh.pa.us> >Para: Kevin Grittner <kgri...@mail.com> >CC: Alejandro Carrillo <faster...@yahoo.es>; pgsql-general@postgresql.org >Enviado: Domingo 20 de enero de 2013 15:30 >Asunto: Re: [GENERAL] not(t_xmax = 0) > >"Kevin Grittner" <kgri...@mail.com> writes: >> Alejandro Carrillo wrote: >>> I try to do a function that let know which rows are deleted in a >>> table using the xmax !=0 > >> That's not something you're going to have much luck with by using >> plpgsql to try to parse heap pages. > >No, because xmax being nonzero doesn't prove much: the row might be >updated/deleted, or it might only have been locked by SELECT FOR UPDATE, >or it might be perfectly fine because the updating transaction rolled >back. You could get a limited amount of information by checking the >hint bits in t_infomask, but if the hint bits aren't set you won't know >what the row's state is. > >You'd really need to do this in C using the tqual.c functions for the >results to be trustworthy. > >I'm a bit surprised that contrib/pageinspect doesn't have a mechanism >for pulling out only committed-good heap tuples... > > regards, tom lane > > >