2

我正在使用 Postgres。我正处于开发的中间。我需要创建表 ABC 的副本。我将其命名为 XYZ。我试过了create table XYZ () inherits(ABC)。它工作正常,但是当我在 XYZ 上插入值时,表 ABC 也被填充(实际上)。当我运行类似这样的查询时,我得到了重复的值select * from ABC where id = 1。当我运行这样的查询时,我得到了正确的记录select * from only ABC where id = 1

这是,我不想使用“仅”。所以,我不认为继承是我需要的。我只想问当我更改(添加列)ABC时是否有办法在XYZ上自动添加列?

我不想为 ABC 和 XYZ 创建两个 alter 查询。我需要这两个表始终具有相同的列。任何想法?

4

1 回答 1

0

您所说的触发器类型通常称为 DDL 触发器。在 PostgreSQL 中,它们被称为事件触发器。不过,我不确定您是否可以alter table在 PostgreSQL 事件触发器中执行语句。

不过,我不确定这是否真的是您正在寻找的解决方案。我认为您可能正处于XY 问题的中间。

于 2015-03-04T15:48:38.053 回答