Раз возникла такая проблема, это повод задуматься о правильности выбора структуры БД, конкретно о том стоит ли так хранить messages. Но в любом случае PostgreSQL изначально по задумке сделан так что обновление поля это всегда его полная перезапись, таким образом вам в любом случае нужно прочитать оттуда чтобы не потерять предыдущие записи.
Ну и все же есть рекомендации по использованию этого типа
JSON в постгресе, вы уверены что ваша реализация следует им?