Как в PosgreSQL, в JSON добавить key:value?
array_to_json(array_agg(row_to_json (r)))
не первый раз вижу такой конструкт, но не понимать зачем оно такое надо в таком переусложненном виде. Если нашли array_agg - значит могли заметить и json_agg там же, что приводит к простейшему select json_agg(r) from r

Для json оператора конкатенации нет, возьмите jsonb:
select jsonb_agg(r) || jsonb_build_object('city', 'SanAndreas') from tablename r;
https://www.postgresql.org/docs/current/functions-...

Оператор конкатенации JSONB - ||

В более сложных случаях - jsonb_set(), jsonb_insert()... в общем, посмотри сам.