継承とはオブジェクト指向データベースの概念です。データベース設計において重要でこれまでになかった可能性を広げてくれます。2つのテーブルを作ってみましょう。cities(都市)テーブルとcapitals(行政府所在地)テーブルです。行政府所在地は本来同時に都市でもありますので、全ての都市をリストする時は何もしなくても行政府所在地も表示する何らかの方法が必要です。賢い人なら次のような案を工夫するでしょう。non_capitals;問い合わせを続ける分には問題はありませんが、たった1つ、いくつか複数の行を更新する時に醜くなります。良い解決策は次のような構文です。(cities);この例では、capitals(行政府所在地)テーブルの行は親のcities(都市)テーブルから全ての列、すなわちname(都市名)、population(人口)そしてaltitude(標高)を継承します。name列のデータ型は、可変長文字列のためにPostgreSQLが初めから備えているtext型です。州の行政府所在地のテーブルは、これに加えて州を示すstate列を持ちます。PostgreSQLでは、テーブルは関連付けられたテーブルがあればそれぞれから属性を継承することができます。以下の問い合わせの例は、行政府所在地を含む標高500フィート以上に位置する全ての都市を求めるものです。500;これは以下を返します。ない標高500フィート以上に位置する都市を見つけ出したい時は次のような問い合わせになります。rows)ここでcities(都市)の前に置かれたONLYは、継承階層においてcities(都市)テーブルの下層にあるテーブルではなく、cities(都市)テーブルのみを参照することを意味します。説明したSELECT、UPDATEおよびDELETEなど数多くのコマンドは、このONLY表記をサポートしています。継承は便利ではありますが、UNIQUE制約もしくは外部キーと一緒に使えないので万能ではありません。詳細は項5.8を参照してください。