I decided to play a bit with 8.3-b4. I did a fresh install from source,
fresh initdb, and created a single test table (about 700K rows) to play
with in-core FTS:
Welcome to psql 8.3beta4, the PostgreSQL interactive terminal.
hannes=> \d fts
Table "public.fts"
Column | Type | Modifiers
--------+----------+--------------------------------------------------
id | integer | not null default nextval('fts_id_seq'::regclass)
text | text | not null
tsv | tsvector |
Indexes:
"pk_fts" PRIMARY KEY, btree (id)
hannes=> CREATE INDEX CONCURRENTLY "ts_fts_tsv" ON "public"."fts" USING gin
("tsv");
ERROR: item pointer (0,1) alreadt exists
I was able to reproduce that error a few times, but not always. It seems
it only happens with CONCURRENTLY.
After creating a GIST index instead of GIN I tried to cluster on that:
hannes=> CLUSTER fts USING ts_fts_tsv;
ERROR: could not create unique index "pk_fts"
DETAIL: Table contains duplicated values.
So duplicate values in my PK column?
hannes=> SET enable_indexscan = off;
SET
hannes=>
hannes=> SELECT
hannes-> f.id,
hannes-> COUNT(f.id)
hannes-> FROM
hannes-> public.fts f
hannes-> GROUP BY
hannes-> f.id
hannes-> HAVING
hannes-> COUNT(f.id) > 1;
id | count
----+-------
(0 rows)
Where are they?
I'm a bit short of time and will probably not find time to debug this
further until next weekend, sorry.
--
Best regards,
Hannes Dorbath
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org/