Creemos dos clases. La clase capitals contiene las capitales de
  los estados que son también ciudades. Naturalmente, la clase
  capitals debe heredar de cities.
  
| CREATE TABLE cities (
    name            text,
    population      float,
    altitude        int     -- (in ft)
);
CREATE TABLE capitals (
    state           char(2)
) INHERITS (cities);
   | 
   En este caso, una instancia de 
capitals hereda
   (inherits) todos los atributos (name, population,
   altitude) de la clase 
cities. El tipo del atributo name es
   
text, un tipo de dato nativo de
   
Postgres para cadenas ASCII de longitud
   variable. El tipo del atributo population es 
float, un
   tipo datos, también nativo, para números de punto flotante de doble
   precisión.
   Además 
capitals tiene un atributo extra, state, que muestra el
   estado al que pertenece. En 
Postgres una
   clase puede heredar de ninguna o varias otras clases, y una consulta
   puede hacer referencia tanto a todas las instancias de una clase como
   a todas las instancias de sus descendientes.
   
|  |      En realidad, la jerarquía de la herencia es un gráfico
     dirigido y acíclico.
     | 
   Por ejemplo, la siguiente consulta encuentra todas las ciudades
   situadas a una altitud de 500 pies o más:
   
| SELECT name, altitude
    FROM cities
    WHERE altitude > 500;
+----------+----------+
|name      | altitude |
+----------+----------+
|Las Vegas | 2174     |
+----------+----------+
|Mariposa  | 1953     |
+----------+----------+
    | 
     Por otro lado, para encontrar los nombres de todas las ciudades,
   incluyendo las capitales de estado, que están localizadas
   a un altitud por encima de los 500 pies, la consulta sería:
   
| SELECT c.name, c.altitude
    FROM cities* c
    WHERE c.altitude > 500;
    | 
Lo que devuelve lo siguiente:
   
| +----------+----------+
|name      | altitude |
+----------+----------+
|Las Vegas | 2174     |
+----------+----------+
|Mariposa  | 1953     |
+----------+----------+
|Madison   | 845      |
+----------+----------+
    | 
   Aquí, el 
"*" después de 
cities indica que la consulta
   debe realizarse sobre 
cities y todas las clases que estén
   por debajo de ella en la jerarquía de herencia. Muchas de las 
   órdenes que ya hemos analizado (
SELECT,
   
UPDATE y 
DELETE) permiten
   la utilización de 
"*", así como otros, como pueden ser
   
ALTER TABLE.