Re: werid error"index row size 3040 exceeds btree maximum, 2712" occur randomly

From: Tomas Vondra <tv(at)fuzzy(dot)cz>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: werid error"index row size 3040 exceeds btree maximum, 2712" occur randomly
Date: 2013-10-15 22:05:55
Message-ID: 525DBC43.3050504@fuzzy.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 15.10.2013 03:44, Huang, Suya wrote:
> Thanks Tomas!
>
> However, in the example I sent, I already did a vacuum full right
> after deleted the rows causing problem, before created the index and
> got an error even the table is vacuumed. Note, the table is I
> temporarily created using create table as select *... so no other
> people is accessing that table, except me for the testing purpose.
>
> Any ideas? And today, while I did the same thing, I can create index
> on the table right after I deleted the rows causing problem, without
> vacuum.
>
> Anything I missed here?

Not sure. The only thing I can think of is another transaction
preventing the autovacuum from removing the rows, but I can't reproduce
it. What PostgreSQL version are you using?

BTW take a look at this contrib module:

http://www.postgresql.org/docs/9.1/static/pageinspect.html

It allows looking directly on items on a data page like this:

select * from heap_page_items(get_raw_page('test', 0));

Maybe that'll help you identify the problem.

Tomas

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message James Sewell 2013-10-16 01:04:53 Stop execution without ERROR
Previous Message Chris 2013-10-15 20:22:57 Re: recursive query returning extra rows in 8.4