Re: not(t_xmax = 0)
От | Tom Lane |
---|---|
Тема | Re: not(t_xmax = 0) |
Дата | |
Msg-id | 28040.1358713846@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: not(t_xmax = 0) ("Kevin Grittner" <kgrittn@mail.com>) |
Ответы |
Re: not(t_xmax = 0)
|
Список | pgsql-general |
"Kevin Grittner" <kgrittn@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
В списке pgsql-general по дате отправления: