Ioannis Theoharis <theohari@ics.forth.gr> writes:
> My question is whether the way, in wich postgresql do this task, is a
> transitive closure on table 'pg_inherits' or there is a better approach
> implemented (like numbering scheme techniques etc.) ?
It's a transitive closure, and not a very bright one at that; see
find_all_inheritors(), find_inheritance_children(), and particularly
the comments to the latter. However, we've not heard reports indicating
that this is a serious bottleneck in any real-world situation, so
no one has spent time to improve it. (I'd expect the per-table planning
costs to vastly outweigh the cost of finding those tables, anyway.)
regards, tom lane