Re: Corrupt database? 8.1/FreeBSD6.0

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Corrupt database? 8.1/FreeBSD6.0
Дата
Msg-id 20070118164249.GO26080@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Corrupt database? 8.1/FreeBSD6.0  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Corrupt database? 8.1/FreeBSD6.0  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Tom Lane wrote:
> I wrote:
> > ... but I suddenly fear that we've missed a fundamental point about
> > pg_clog truncation.  And WAL wraparound for that matter.  To wit, a
> > sufficiently long-lived temp table could contain old XIDs, and there's
> > no way for anyone except the owning backend to clean them out, or even
> > guarantee that they're marked committed.
>
> After further thought I believe this is OK as of 8.2, because a temp
> table's relfrozenxid is tracked independently of any other's.  (This
> problem puts a stake through the heart of the recently-discussed idea
> that a temp table might be able to get along without a globally visible
> pg_class entry, however.)
>
> But it seems that we need a band-aid for 8.1 and earlier.  The simplest
> fix I can think of is for vacuum not to attempt to advance the
> datvacuumxid/datfrozenxid fields if it skipped over any temp tables of
> other backends.  That's a bit nasty, since in a database making heavy
> use of temp tables, you might do a whole lot of vacuums without ever
> meeting that condition.  Anyone have a better idea?

That seems nasty.  Can we examine the xmin of the pg_class entry for
temp tables instead?

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

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

Предыдущее
От: "Alejandro D. Burne"
Дата:
Сообщение: Re: [1/2 OFF] Varlena.com inaccessible from .br (Blocked?)
Следующее
От: Jorge Godoy
Дата:
Сообщение: Re: [1/2 OFF] Varlena.com inaccessible from .br (Blocked?)