Re: Vacuumdb Fails: Huge Tuple

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Vacuumdb Fails: Huge Tuple
Дата
Msg-id 4177.1254430972@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Vacuumdb Fails: Huge Tuple  (APseudoUtopia <apseudoutopia@gmail.com>)
Ответы Re: Vacuumdb Fails: Huge Tuple  (Teodor Sigaev <teodor@sigaev.ru>)
Re: Vacuumdb Fails: Huge Tuple  (APseudoUtopia <apseudoutopia@gmail.com>)
Список pgsql-general
APseudoUtopia <apseudoutopia@gmail.com> writes:
>> Here's what happened:
>>
>> $ vacuumdb --all --full --analyze --no-password
>> vacuumdb: vacuuming database "postgres"
>> vacuumdb: vacuuming database "web_main"
>> vacuumdb: vacuuming of database "web_main" failed: ERROR:  huge tuple

> PostgreSQL 8.4.0 on i386-portbld-freebsd7.2, compiled by GCC cc (GCC)
> 4.2.1 20070719  [FreeBSD], 32-bit

This is evidently coming out of ginHeapTupleFastCollect because it's
formed a GIN tuple that is too large (either too long a word, or too
many postings, or both).  I'd say that this represents a serious
degradation in usability from pre-8.4 releases: before, you would have
gotten the error upon attempting to insert the table row that triggers
the problem.  Now, with the "fast insert" stuff, you don't find out
until VACUUM fails, and you have no idea where the bad data is.  Not cool.

Oleg, Teodor, what can we do about this?  Can we split an oversize
tuple into multiple entries?  Can we apply suitable size checks
before instead of after the fast-insert queue?

            regards, tom lane

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Vacuumdb Fails: Huge Tuple
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Weird behavior with "sensitive" cursors.