假设我有一个名为master.products的PostgreSQL表和另一个名为account.products的表。第二个继承自第一个。
是否可以创建查询以获取表的父名称和架构?

最佳答案

您可以从系统目录pg_inherits获取此信息。

SELECT inhparent::regclass::text
FROM   pg_catalog.pg_inherits
WHERE  inhrelid = 'account.product'::regclass;

根据当前的search_path,该名称将被自动限定为schema,以使其明确无误。
SQL Fiddle.
相关:
Check if table inherits from other table in PostgreSQL
关于regclass
How to check if a table exists in a given schema

07-26 05:06