Sztuczka do jsonb_set() jest to, że modyfikuje część jsonb obiekt, ale zwraca cały obiekt. Więc przekazujesz mu bieżącą wartość kolumny i ścieżkę, którą chcesz zmodyfikować (tutaj "strony", jako tablicę ciągów), a następnie bierzesz istniejącą tablicę (my_column->'pages' ) i dołącz || nowy obiekt do niego. Wszystkie inne części jsonb obiekt pozostają takie, jakie były. Efektywnie przypisujesz zupełnie nowy obiekt do kolumny, ale jest to nieistotne, ponieważ UPDATE i tak zapisuje nowy wiersz do tabeli fizycznej.
UPDATE my_table
SET my_column = jsonb_set(my_column, '{pages}', my_column->'pages' || new_json, true);
Opcjonalny create_missing parametr ustawiony na true tutaj dodaje obiekt "strony", jeśli jeszcze nie istnieje.