Re: ctid & updates

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: ctid & updates
Дата
Msg-id 13244.1023149117@sss.pgh.pa.us
обсуждение исходный текст
Ответ на ctid & updates  ("Joshua b. Jore" <josh@greentechnologist.org>)
Ответы Re: ctid & updates (or speedy updates/deletes)  ("Joshua b. Jore" <josh@greentechnologist.org>)
Re: ctid & updates  (Jan Wieck <janwieck@yahoo.com>)
Список pgsql-general
"Joshua b. Jore" <josh@greentechnologist.org> writes:
> I noticed that ctid changes on update (as expected since it's really a new
> row). Is there anyway to get the new ctid from the update so later
> updates to the row can continue to use ctid to zero in on the row
> location?

There's a function called something like currtid that takes the
CTID of the possibly-obsoleted row and returns the CTID of its latest
updated version.  I believe this is exported because the ODBC driver
uses it, so it's unlikely to go away, even though AFAIR it's not
documented anywhere.  A risk of using it is that CTID of an updated
row cannot be trusted for very long --- once VACUUM has come by,
you might find that CTID reassigned to some other row entirely.

> Can anything interesting be done with the empty space? Is there any
> way to find the maximum ctid and look for quantities of empty space?

I don't think CTID gives you any useful hint about the amount of free
space available on a page.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: strangeness in pg_dump
Следующее
От: Curt Sampson
Дата:
Сообщение: View vs. Statement Query Plan