fts_col (Volltextsuche) in mehreren Tabellen bringt Fehler beim Upsize

Hier dreht es sich um den PostGre Server

Moderator: Moderatoren

Antworten
Benutzeravatar
dtmackenzie
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Do, 22. Nov 2007 9:02
Wohnort: Leipzig
Hat sich bedankt: 66 Mal
Danksagung erhalten: 22 Mal
Kontaktdaten:

fts_col (Volltextsuche) in mehreren Tabellen bringt Fehler beim Upsize

Beitrag von dtmackenzie »

Nur zur Info:
Wenn ich versuche, eine Spalte fts_col in mehreren Tabellen einzufügen, bekomme ich Fehler beim Upsize, z.B. unten.
Das umgehe ich nun in dem ich den Tabellennamen zum Spaltennamen immer hinzufüge (z.B. fts_col_ar) - unschön aber was soll's...

Code: Alles auswählen

>>> start perform deferred actions
--- Processing (ALTER TABLE ar ADD COLUMN fts_col tsvector;) elapsed time (9) ms
--- Processing (UPDATE ar SET fts_col = to_tsvector( 'pg_catalog.german'::regconfig, coalesce( be_code,'') ||' '||coalesce( ftb,'') ||' '||coalesce( info,'')  );) elapsed time (9896) ms
--- Processing (CREATE INDEX fts_col_idx ON ar USING gist(fts_col);) elapsed time (530) ms
--- Processing (DROP FUNCTION IF EXISTS fts_col_tsvector_trigger();CREATE FUNCTION fts_col_tsvector_trigger() RETURNS trigger AS $$begin  new.fts_col := to_tsvector(coalesce(new.be_code,''))||to_tsvector(coalesce(new.ftb,''))||to_tsvector(coalesce(new.info,''));return new;end$$ LANGUAGE plpgsql;CREATE TRIGGER fts_col_tsvector_update BEFORE INSERT OR UPDATE ON ar FOR EACH ROW EXECUTE PROCEDURE fts_col_tsvector_trigger();) elapsed time (33) ms
--- Processing (ALTER TABLE anlief ADD COLUMN fts_col tsvector;) elapsed time (13) ms
--- Processing (UPDATE anlief SET fts_col = to_tsvector( 'pg_catalog.german'::regconfig, coalesce( sn,'') ||' '||coalesce( best_bez,'') ||' '||coalesce( einh,'') ||' '||coalesce( agnr,'') ||' '||coalesce( fw,'') ||' '||coalesce( info,'')  );) elapsed time (40655) ms
--- Error (relation "fts_col_idx" already exists) executing SQL statement (CREATE INDEX fts_col_idx ON anlief USING gist(fts_col);)
--- Error finalizing binding for table(anlief)
<<< done perform deferred actions
Viele Grüße,
David
Antworten