区别于其他传统数据库管理器的特性.这些特性包括:继承,时间跟踪和非定量数值(数组和有值字段)(array-
and set-valued attributes).本节的例子可以在教程目录的
继承
让我们创建两个表.表 capitals 包含各州的首府,同时也是cities表.自然而然,表
capitals 应该从表 cities 继承下来.
CREATE TABLE cities (
    name            text,
    population      float,
    altitude        int     -- (in ft)
);
CREATE TABLE capitals (
    state           char(2)
) INHERITS (cities);
在本例中,一条 capitals 的记录 
继承 所有父表 cities 的字段(name,population,和
altitude). 字段 name 的类型是 
text, 
Postgres
用于变长 ASCII 字符串的类型.字段 population 的类型是 
float, 
Postgres
的双精度浮点数据类型.表 capitals 多一个字段,state,表明首府所在的州.在 
Postgres
里,一个表可以从0或更多个其他表继承下来,一个查询可以检索一个表的所有记录,也可以检索一个表和其所有后代的记录.
例如,下面查询将找出所有海拔500英尺以上的城市.
SELECT name, altitude
    FROM cities
    WHERE altitude > 500;
+----------+----------+
|name      | altitude |
+----------+----------+
|Las Vegas | 2174     |
+----------+----------+
|Mariposa  | 1953     |
+----------+----------+
另一方面,如果要找出包括州首府在内的海拔高于500英尺的城市,查询应该是这样的:
 
SELECT c.name, c.altitude
    FROM cities* c
    WHERE c.altitude > 500;
返回:
+----------+----------+
|name      | altitude |
+----------+----------+
|Las Vegas | 2174     |
+----------+----------+
|Mariposa  | 1953     |
+----------+----------+
|Madison   | 845      |
+----------+----------+
在这里 cities 后的 “*” 表明该查询应该遍历cities 和继承层次底于 cities
的表. 许多我们已经讨论过的命令(
SELECT,UPDATE 和 
DELETE)都支持“*”(译注:类似通配符),还有其他的一些命令,象
ALTER.