| From: | Jan Wieck <JanWieck(at)Yahoo(dot)com> |
|---|---|
| To: | strk <strk(at)keybit(dot)net> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: ERROR: Index pg_toast_8443892_index is not a btree |
| Date: | 2003-12-08 16:03:09 |
| Message-ID: | 3FD4A0BD.5090500@Yahoo.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
strk wrote:
> JanWieck wrote:
>> strk wrote:
>>
>> > I get the following error when vacuuming a db or inserting
>> > a big value in a column of a toastable datatype (GEOMETRY).
>> >
>> > ERROR: Index pg_toast_8443892_index is not a btree
>> >
>> > My last action has been killing a psql that was getting
>> > mad about receiving too much input and beeping as hell
>> > (readline issue ?).
>>
>> You must have killed a lot more than your psql frontend to get that as a
>> result.
>
> really... I hit ^C at the psql terminal and
> kill -9 <psql_pid>
>
> The only other reason I can thing about is the data type text
> input function screwing pg internal pointers...
You mean the text input function did stomp over shared memory of the
buffer cache? That would be the first time I hear of this.
Could you please do
select oid as datoid from pg_database where datname = '<dbname>';
select A.relfilenode from pg_class A, pg_class B, pg_class C
where C.relname = '<tablename>'
and B.oid = C.reltoastrelid
and A.oid = B.reltoastidxid;
With that information, give us an
ls -l $PGDATA/base/<datoid>/<relfilenode>
This file is the toast tables index.
>
>>
>> >
>> > After that, I put the insert query I was trying to feed to
>> > psql in a file and sourced it... Bump! that error appeared.
>> >
>> > psql:B:477: ERROR: Index pg_toast_8443892_index is not a btree
>> >
>> > Line 477 is EOF...
>> >
>> > Vacuum does not solve this (as you can see in the first error message)
>> >
>> > Do you have any hint about how to fix this ?
>>
>> Try "reindex table <tablename>". If you really only lost that btree
>> index, that should do.
>
> gis=# reindex table test; -- this is the table I was trying to insert into
> WARNING: table "test" wasn't reindexed
Is there more information about why it wasn't reindexed in the
postmaster log?
> REINDEX
> gis=# reindex table pg_toast_8443892; -- this was an assuption I made
> ERROR: Relation "pg_toast_8443892" does not exist
> gis=# vacuum;
> ERROR: Index pg_toast_8443892_index is not a btree
> gis=#
>
> Where could this pg_toast_8443892_index reference be found ?
As you might guess from the second select above ...
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
| From | Date | Subject | |
|---|---|---|---|
| Next Message | strk | 2003-12-08 16:23:03 | Re: ERROR: Index pg_toast_8443892_index is not a btree |
| Previous Message | Andrew Dunstan | 2003-12-08 15:56:30 | Re: CVS HEAD compile failure |