Я пытаюсь создать запрос postgres, чтобы получить информацию обо всех таблицах и их столбцах data_types et c. из конкретной базы данных. Как вы можете видеть в операторе CASE, например: вместо того, чтобы просто возвращать character varying
, я предпочитаю более детальный просмотр столбца data_type.
SELECT table_schema,
table_name,
column_name,
data_type,
CASE
WHEN domain_name IS NOT NULL THEN domain_name
WHEN data_type='character varying' THEN 'varchar('||character_maximum_length||')'
WHEN data_type='numeric' THEN 'numeric('||numeric_precision||')'
ELSE data_type
END AS column_type
FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog',
'information_schema');
Существует ли аналогичный или более прямой компонент запроса I можно использовать для пометки столбца, который является ПЕРВИЧНЫМ КЛЮЧОМ?