Как получить ограничения внешнего ключа, определенные в базе данных? - PullRequest
0 голосов
/ 18 марта 2020

База данных: PostgreSQL 9.5.20 на x86_64-p c - linux -gnu (Ubuntu 9.5.20-1.pgdg18.04 + 1), скомпилированная g cc (Ubuntu 7.4.0 -1ubuntu1 ~ 18.04.1) 7.4.0, 64-bit

Мне нужно вернуть ограничения внешнего ключа, определенные в базе данных, и я попытался выполнить приведенный ниже запрос, но без результатов, и я запускаю его удаленно с помощью pgAdmin V.4

 select kcu.table_schema || '.' ||kcu.table_name as foreign_table,
   '>-' as rel,
   rel_tco.table_schema || '.' || rel_tco.table_name as primary_table,
   string_agg(kcu.column_name, ', ') as fk_columns,
   kcu.constraint_name
from information_schema.table_constraints tco
join information_schema.key_column_usage kcu
      on tco.constraint_schema = kcu.constraint_schema
      and tco.constraint_name = kcu.constraint_name
join information_schema.referential_constraints rco
      on tco.constraint_schema = rco.constraint_schema
      and tco.constraint_name = rco.constraint_name
join information_schema.table_constraints rel_tco
      on rco.unique_constraint_schema = rel_tco.constraint_schema
      and rco.unique_constraint_name = rel_tco.constraint_name
where tco.constraint_type = 'FOREIGN KEY'
group by kcu.table_schema,
     kcu.table_name,
     rel_tco.table_name,
     rel_tco.table_schema,
     kcu.constraint_name
order by kcu.table_schema,
     kcu.table_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...