TSVector in TSQuery konvertieren: ERROR: row is too big

Hi,

ich versuche einen TSVector (tsv) aus einer Tabelle in eine TSQuery (tsq) zu konvertieren über folgenden Funktionsaufruf:

to_tsquery(replace(strip(tsv)::text, ' ', ' | '))

Bei einem update der spalte tsq für das TSQuery erhalte ich folgende Fehlermeldung:

UPDATE songs SET tsq = to_tsquery(replace(strip(tsv)::text, ' ', ' | '));
********** Fehler **********

ERROR: row is too big: size 8704, maximum size 8160
SQL Status:54000

Wenn ich jedoch die Längen des funktionsaufrufes anschaue bekomme ich nur maximal 3125 als Länge zurück:

SELECT 
(length(replace(strip(tsv)::text, ' ', ' | ')))
 FROM
songs
ORDER BY length(replace(strip(tsv)::text, ' ', ' | ')) DESC
LIMIT 100

Erzeugt also der Aufruf to_tsquery() ein zu großes TSQuery für die Spalte tsq vom Typ TSQuery?

Wer weiß da weiter?

ok, habs gefunden: die länge des tsvector ist beschränkt auf 1MB: PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Limitations