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
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 |