Обсуждение: Seqno. is not btree?

Поиск
Список
Период
Сортировка

Seqno. is not btree?

От
"Anagha Joshi"
Дата:
<p align="LEFT"><span lang="en-us"><font face="Arial" size="2">Hi,</font></span><p align="LEFT"><span
lang="en-us"><fontface="Arial" size="2">I use Postgresql-7.2.4</font></span><span lang="en-us"></span><span
lang="en-us"></span><palign="LEFT"><span lang="en-us"><font face="Arial" size="2">I’ve created following
table:</font></span><palign="LEFT"><span lang="en-us"><font face="Arial" size="2">create table vchar (</font></span><p
align="LEFT"><spanlang="en-us"><font face="Arial" size="2">    seqno SERIAL,</font></span><p align="LEFT"><span
lang="en-us"><fontface="Arial" size="2">    col_var character varying (8192)</font></span><p align="LEFT"><span
lang="en-us"><fontface="Arial" size="2">    );</font></span><span lang="en-us"></span><span lang="en-us"></span><p
align="LEFT"><spanlang="en-us"><font face="Arial" size="2">After as many as</font></span><span
lang="en-us"></span><spanlang="en-us"> <font face="Arial" size="2">2412081</font></span><span lang="en-us"></span><span
lang="en-us"><fontface="Arial" size="2"> records are inserted,  I shutdown my server.</font></span><span
lang="en-us"></span><spanlang="en-us"> <font face="Arial" size="2"> My every record was inserted programatically by
:</font></span><palign="LEFT"><span lang="en-us"><b><font face="Arial" size="2">insert into vchar (col_var) values
(‘VVV’)</font></b></span><spanlang="en-us"></span><span lang="en-us"><font face="Arial" size="2">……</font></span><span
lang="en-us"></span><spanlang="en-us"><font face="Arial" size="2">(</font></span><span lang="en-us"></span><span
lang="en-us"><fontface="Arial" size="2">VVV’ char sequence was 8192 times long. i.e. in one row 8192</font></span><span
lang="en-us"><b></b></span><spanlang="en-us"><b> <font face="Arial" size="2">V’s</font></b></span><span
lang="en-us"></span><spanlang="en-us"><font face="Arial" size="2"> are present.</font></span><span
lang="en-us"></span><spanlang="en-us"><font face="Arial" size="2">)</font></span><span lang="en-us"></span><span
lang="en-us"></span><palign="LEFT"><span lang="en-us"><font face="Arial" size="2">Next day,</font></span><span
lang="en-us"></span><spanlang="en-us"><font face="Arial" size="2">I tried the following:</font></span><p
align="LEFT"><spanlang="en-us"><font face="Arial" size="2">test=# select count(*) from vchar;</font></span><p
align="LEFT"><spanlang="en-us"><font face="Arial" size="2"> count</font></span><p align="LEFT"><span lang="en-us"><font
face="Arial"size="2">-------</font></span><p align="LEFT"><span lang="en-us"><font face="Arial" size="2"> 
2568</font></span><palign="LEFT"><span lang="en-us"><font face="Arial" size="2">(1 row)</font></span><span
lang="en-us"></span><spanlang="en-us"></span><p align="LEFT"><span lang="en-us"><font face="Arial" size="2">test=#
insertinto vchar (col_var) values ('</font></span><span lang="en-us"></span><span lang="en-us"><font face="Arial"
size="2">VV’);</font></span><spanlang="en-us"></span><span lang="en-us"></span><p align="LEFT"><span
lang="en-us"><b><fontface="Arial" size="2">ERROR:  Index vchar_seqno_key is not a btree</font></b></span><span
lang="en-us"><b></b></span><spanlang="en-us"><b></b></span><p align="LEFT"><span lang="en-us"><font face="Arial"
size="2">Whatdoes this error mean? My server log shows</font></span><span lang="en-us"></span><span lang="en-us"> <font
face="Arial"size="2">2412081</font></span><span lang="en-us"></span><span lang="en-us"><font face="Arial" size="2">
recordsinserted but actual</font></span><span lang="en-us"><b></b></span><span lang="en-us"><b> <font face="Arial"
size="2">count(*)</font></b></span><spanlang="en-us"></span><span lang="en-us"><font face="Arial" size="2"> shows only
2568</font></span><spanlang="en-us"></span><span lang="en-us"><font face="Arial" size="2"> records.</font></span><span
lang="en-us"></span><spanlang="en-us"></span><p align="LEFT"><span lang="en-us"><font face="Arial" size="2">Pls.
help.</font></span><palign="LEFT"><span lang="en-us"><font face="Arial" size="2">Thx.,</font></span><p
align="LEFT"><spanlang="en-us"><font face="Arial" size="2">Anagha</font></span><span lang="en-us"></span><span
lang="en-us"></span><br/> 

Re: Seqno. is not btree?

От
Tom Lane
Дата:
"Anagha Joshi" <ajoshi@nulinkinc.com> writes:
> After as many as 2412081 records are inserted,  I shutdown my server.

> Next day,I tried the following:
> test=3D# select count(*) from vchar;
>  count
> -------
>   2568
> (1 row)
> test=3D# insert into vchar (col_var) values ('VV');
> ERROR:  Index vchar_seqno_key is not a btree

It sounds to me like you've got serious disk problems --- losing a
couple hundred thousand rows is not normal :-(.  The index complaint
also suggests on-disk corruption --- it means that the btree version
information that's stored in the first page of a btree index wasn't
right.

How exactly did you "shut down the server"?  Have you noticed any other
evidence of disk problems, outside Postgres?
        regards, tom lane