Сколько дочерних таблиц создано у родительской таблицы в PostgreSQL?
select count(*) from pg_inherits where inhparent = (select oid from pg_class where relname = 't_all_dp');
Сначала нам нужно получить OID нашей родительской таблицы из представления «pg_class«. Имя нашей таблицы хранится в столбце «relname«.
Затем в представлении «pg_inherits» мы отбираем все записи, в которых значение в столбце «inhparent» равно нашему OID.
После этого можем выполнить агрегацию count().
Если мы получаем 0, то у данной таблицы нет дочерних таблиц, но при этом она может быть секционированной.
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Официальный сайт клиента DBeaver для СУБД PostgreSQL — https://dbeaver.io