I was doing some testing with tsearch2 on my dev box and I've run across this problem.

I created the tsvector and added the trigger and then i was updating the entire table to populate the ixdfti field. When i was done, I was unable to vacuum the table, I get this error. Any ideas an what's going on? I've shutdown the database and made a tar of it incase there is additional info you need.

basement_dev=# update developer_name set developer_id = developer_id;
UPDATE 262083
basement_dev=# VACUUM FULL developer_name;
ERROR: failed to re-find parent key in "developer_name_developer_name" for deletion target page 163
basement_dev=# \d developer_name;
Table "public.developer_name" Column | Type | Modifiers -------------------+------------------------ +----------------------------------------------------------------------- ----- developer_name_id | integer | not null default nextval ('developer_name_developer_name_id_seq'::regclass)
developer_id      | integer                | not null
developer_name    | character varying(255) | not null
idxfti            | tsvector               |
t                 | text                   |
idxfti2           | tsvector               |
Indexes:
    "developer_name_pkey" PRIMARY KEY, btree (developer_name_id)
    "developer_name_developer_id" btree (developer_id)
    "developer_name_developer_name" btree (developer_name)
Triggers:
tsvectorupdate BEFORE INSERT OR UPDATE ON developer_name FOR EACH ROW EXECUTE PROCEDURE tsearch2('idxfti', 'developer_name')

basement_dev=# select version();
                                                                version
------------------------------------------------------------------------ ---------------------------------------------------------------- PostgreSQL 8.2.4 on i386-apple-darwin8.9.1, compiled by GCC i686- apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5341)
(1 row)


Reply via email to