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