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