On 02.08.23 21:54, PG Doc comments form wrote:
In the provided example, the cities table and the capitals table have a parent-child relationship through inheritance. However, querying the cities table directly (e.g., SELECT name, elevation FROM cities WHERE elevation > 500;) will not automatically include data from the child table, capitals. Inheritance in PostgreSQL does not implicitly combine data from parent and child tables in a single query.
This observation is patently incorrect: CREATE TABLE cities ( name text, population real, elevation int -- (in ft) ); CREATE TABLE capitals ( state char(2) UNIQUE NOT NULL ) INHERITS (cities); INSERT INTO cities (name) VALUES ('Ithaca'); INSERT INTO capitals (name, state) VALUES ('Albany', 'NY'); SELECT * FROM cities; name | population | elevation --------+------------+----------- Ithaca | | Albany | | (2 rows) SELECT * FROM capitals; name | population | elevation | state --------+------------+-----------+------- Albany | | | NY (1 row)