Как получить данные из одной записи таблицы в виде JSON объекта, а не таблицы?
У нас есть таблица с данными. Выглядит она примерно так:

Мы хотим получить одну запись этой таблицы в виде JSON-объекта, а не строки таблицы с ячейками. Как это сделать?
Функция row_to_json()
В PostgreSQL для создания объектов json существует специальная функция, которая называется row_to_json().
Она может принимать «тип данных таблицы«. Это значит, что каждая таблица в PostgreSQL имеет свой уникальный тип данных. Этот тип прописывается в системных каталогах и живёт до тех пор, пока живёт таблица. Самое главное то, что если состав таблицы меняется, то и тип данных этой таблицы также меняется. Но нам не нужно заморачиваться по этому поводу.
Мы можем написать универсальное решение по конвертации табличной строчки (записи) в JSON-формат.
SELECT row_to_json(t_all_dp) FROM a.t_all_dp WHERE id = 2045167;
Здесь t_all_dp — это одновременно название нашей таблицы и название типа данных. Главное передавать в функцию только имя таблицы, а не полный путь, который включал бы схему данных.
Результат вызова данного запроса вернёт нам json-объект:

Самое главное, что мы получили ключи объекта, которые полностью соответствуют названиям столбцов таблицы.
Получение нескольких json-объектов на основании табличных записей в PostgreSQL
Мы можем получить не только один объект от одной записи. Мы можем получить даже таблицу из json-объектов:
SELECT row_to_json(t_all_dp) FROM a.t_all_dp WHERE idd = 30000;
Вывод выглядит так:

Мы просто немного поправили условие WHERE и выбрали столбец idd.
Получение массива json-объектов на основании табличных записей в PostgreSQL
Самое крутое, это получение массива из объектов. Очень удобное решение для последующей обработки результатов в JavaScript или NodeJS.
В наше выражение нужно добавить функцию ARRAY().
SELECT ARRAY(SELECT row_to_json(t_all_dp) FROM a.t_all_dp WHERE idd = 30000);
Результат:

Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Раздел «Функции для создания JSON» — https://postgrespro.ru/docs/postgresql/14/functions-json#FUNCTIONS-JSON-CREATION-TABLE