Thread: Finding the names of inheriting classes

Finding the names of inheriting classes

From
Thomas Swan
Date:

This is actually two problems...

I'm at a loss on how identify or get the names of children of a parent class.

For example, I have three children of a parent class Cities : Big_Cities, Little_Cities, Not_Cities.   I know that I can do a select * from Cities* and get all rows from Cities and Cities' children.

For the first question, is there a way I can get the names of the tables (classes) that inherit from a parent class?
For example, getting the names of the tables "Big_Cities","Little_Cities",and "Not_Cities" from a statement asking what are the children of tables (class) Cities.

The second question revolves around the select * from Cities*.

If Cities has a "name" column and Big_Cities has a "population" column added and I do a select * from Cities* the resulting table only has the "name" column.  Is there a way to get a table that has all the columns (not just the ones in common) and put nulls in the columns for which there is no information or data?
-
- Thomas Swan
- ________________________________________
- Graduate Student  - Computer Science
- The University of Mississippi
-
- "People can be sorted into two fundamental groups,
- those that divide people into two groups and
- those that don't."

Re: Finding the names of inheriting classes

From
Tom Lane
Date:
Thomas Swan <tswan@olemiss.edu> writes:
> I'm at a loss on how identify or get the names of children of a parent class.

Join pg_class against pg_inherits.
        regards, tom lane


Re: Finding the names of inheriting classes

From
Thomas Swan
Date:
Thanks...

At the same time I had a friend guide me through the system tables... :)
-
- Thomas Swan
- ________________________________________
- Graduate Student  - Computer Science
- The University of Mississippi
-
- "People can be sorted into two fundamental groups,
- those that divide people into two groups and
- those that don't."