PostgreSQL 的继承一般都被用来分区。 PostgreSQL 的分区实际上就是用继承实现的,硬要对比起来,就是继承要比单纯分区要灵活很多。

PostgreSQL 继承之后,子表和父表是两张表,仅仅具有一部分相同的结构而已,除此之外,父子表在查询的时候还带来了一些额外的便利。在无 only 的情况下查询父表,父表将会连带查询子表,因为父表数据是父表的,子表数据是子表的,而查询的时候又需要把他们放在一起,所以只能每个表都查找一遍。在有 only 的情况下,与查询单表相当。

另外,关于继承的一些限制也就很好理解了,因为是分表,所以两个表的主键和唯一索引并不互通,而外键也存在类似的问题。相对来说,继承还是个局限性很大的方案。