Database corruption caused by long insert strings

Поиск
Список
Период
Сортировка
От andrew@mycomport.com
Тема Database corruption caused by long insert strings
Дата
Msg-id Pine.LNX.4.21.0005031511350.9137-100000@tzetze.fith.priv
обсуждение исходный текст
Ответы Re: Database corruption caused by long insert strings  (Peter Eisentraut <e99re41@DoCS.UU.SE>)
Список pgsql-bugs
The system: Linux RedHat 6.2, running postgresql 6.5.3 (installed from the
RH 6.2 RPM)

The bug: attempts to insert large strings result in database
corruption.  Not only does the attempted insert fail with a "too
large" error, but the table is corrupted, and further accesses can cause
the system to crash.

I originally discovered this bug while accessing the database using Perl,
but managed to replicate the problem using the command-line tools only.

Test case:
Create a database, connect to it using psql.

testdb=>CREATE TABLE test (testcol text);
CREATE
testdb=>INSERT INTO test (testcol) values (<a really long string literal>);
ERROR:  Tuple is too big: size 10584

At this point, the database is corrupt.  "Vacuum"ing the database will
detect and fix the corruption, but further queries without vacuuming may
cause the system to crash (the postmaster daemon consumes all available
CPU cycles).  I have not determined exactly how to trigger this.


Thanks for an (otherwise) excellent product :-)

Andrew Bishop

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

Предыдущее
От: "Rolf C Stadheim"
Дата:
Сообщение: gmake[3]: *** No rule to make target `page/SUBSYS.o'. Stop. ??????????????????
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Database corruption caused by long insert strings