- не се нуждаете от подзаявката
- не е необходимо да избирате отново съобщения (целевата таблица вече е в таблицата с диапазон)
- трябва да свържете заявката източник към реда резултат
UPDATE messages msg
SET vector = to_tsvector(lang.language::regconfig, msg.message)
FROM locales as loco
JOIN languages as lang ON loco.language_id = lang.id
WHERE msg.locale_id = loco.id
;