int2 unique index malfunction (btree corrupt)
От | Christof Petig |
---|---|
Тема | int2 unique index malfunction (btree corrupt) |
Дата | |
Msg-id | 37BBFF58.BCE2815B@wtal.de обсуждение исходный текст |
Ответы |
Re: [BUGS] int2 unique index malfunction (btree corrupt)
|
Список | pgsql-bugs |
Your name : Christof Petig Your email address : christof.petig@wtal.de System Configuration --------------------- Architecture (example: Intel Pentium) : Intel dual-Pentium II Operating System (example: Linux 2.0.26 ELF) : Linux 2.2.11 ELF PostgreSQL version (example: PostgreSQL-6.5.1): PostgreSQL-6.5, 6.5.1, 6.6 Compiler used (example: gcc 2.8.0) : egcs-1.1.1 Dear PostgreSQL wizards, During development of a CIM program I frequently updated a table by its primary key (int2 or numeric(3)). A lot of strange messages 'NOTICE: (transaction aborted): queries ignored until END' alerted me that something is going wrong. update foo set val=val+1 where key=:n generated 'Cannot insert a duplicate key into a unique index' which is definitely wrong. Included is a very small (C++) program (Linux, egcs-1.1.1) which generates the mentioned errors. If it helps debugging, I might port it to plain C (contact me). It occured with V6.5 as well as with August 2nd's CVS tree. Sometimes even the initial 'insert's fail, one time (with August 2nd's CVS tree) I got an 'FATAL 1: btree: items are out of order (leftmost 0, stack 10, update 1)' error. Now with 6.5.1, I don't get the NOTICE messages but straight an FATAL 1: btree: items are out of order (leftmost 0, stack 3, update 1) FATAL 1: btree: items are out of order (leftmost 0, stack 2, update 1) It seems there is something wrong with PostgreSQL's internals. Perhaps this program helps tracking it. Best Regards, Christof PS: vacuum after the FATAL (6.6): DEBUG: --Relation test-- DEBUG: Pages 13: Changed 2, Reapped 13, Empty 0, New 0; Tup 128: Vac 1823, Keep/VTL 0/0, Crash 0, UnUsed 0, MinLen 48, MaxLen 48; Re-using: Free/Avail. Space 92444/86784; EndEmpty/Avail. Pages 0/12. Elapsed 0/0 sec. DEBUG: Index test_pkey: Pages 13; Tuples 128: Deleted 1819. Elapsed 0/0 sec. DEBUG: Rel test: Pages: 13 --> 1; Tuple(s) moved: 128. Elapsed 0/0 sec. DEBUG: Index test_pkey: Pages 13; Tuples 128: Deleted 128. Elapsed 0/0 sec. I haven't seen the corruption on 6.5.
Вложения
В списке pgsql-bugs по дате отправления: