"PostgreSQL 9.1.8 on x86_64-unknown-linux-gnu,
 compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit"

I see in the postgres log, on a DEV box
. . .
2013-04-18 17:09:44.721 EDT 516f10af.34fb 2/160904 0 ERROR:  not enough stack 
items
2013-04-18 17:09:44.721 EDT 516f10af.34fb 2/160904 0 STATEMENT:  vacuum 
my_schema.MY_TABLE

Looking in "postgresql-9.1.9.tar.gz",
I find that error message only in nbtpage.c in [ _bt_pagedel(Relation, Buffer, 
BTStack) ].

The table in question:
CREATE TABLE my_schema.MY_TABLE
(
  aa  bigint      NOT NULL,
  bb  bigint      NOT NULL,
  cc  timestamp   NOT NULL,
  dd  varchar(63) NOT NULL,
  ee  char(1)     NOT NULL,
  ff  text        NOT NULL,
  gg  text        NOT NULL,
  CONSTRAINT pk_my_table PRIMARY KEY ( aa )
)
WITH ( OIDS=FALSE );

So, does this indicate that the index of the PK was corrupted ?


I tried to show the existence of any corruption by doing . . .
  [ EXPLAIN ANALYZE
    select * from my_schema.MY_TABLE
    where aa between 22592000 and 23592000 ; ]

and this query did in fact do an Index Scan using pk_my_table.

I ran the query ten times, with different ranges in the where-clause,
thus covering all rows in the table. (~10.4 million rows)

No error happened; each query returned ok.

Then I did [ vacuum my_schema.MY_TABLE ] and it also returned ok.

I am interested if anybody has seen this error-msg before.

Secondarily, I am also interested to know if there is a "fool-proof" way to 
find corruption if it exists.

Thanks,
-dvs-

Reply via email to