Я создал view
в postgres, используя следующий запрос
SELECT
JSON_BUILD_OBJECT(
'street', t.data->'address'->>'street',
'area', t.data->'address'->>'area',
'displayLocation', t.data->'address'->>'display_location',
'postalCode', t.data->'address'->>'postal_code'
) AS address
FROM true_humans t;
После создания представления я использовал команду \d+ true_humans_view
в моем psql, чтобы увидеть запрос представления , Вот результат команды \d+
,
SELECT
json_build_object(
'street', (t.data -> 'address'::text) ->> 'street'::text,
'area', (t.data -> 'address'::text) ->> 'area'::text,
'displayLocation', (t.data -> 'address'::text) ->> 'display_location'::text,
'postalCode', (t.data -> 'address'::text) ->> 'postal_code'::text
) AS address
FROM true_humans t;
Почему Postgres делает 'address' :: text этой типизацией? Пожалуйста, помогите мне понять поведение Postgres.