假设我有一个名为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