- サブクエリは必要ありません
- メッセージを再選択する必要はありません(ターゲットテーブルはすでに範囲テーブルにあります)
- ソースクエリを結果行に関連付ける必要があります
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
;