POSTGRESQL- 使外键列指向另一个 table

POSTGRESQL- Make foreign key column point to another table

我正在使用 psql,我想更改 table 的其中一列。 目前此列是 Table 2 的外键,但我想让它指向 Table 3。

这可能吗,还是我应该删除该列并添加一个新列?

无需添加和删除列。您可以 remove/disable 将约束添加到一个 table 并将其添加到另一个 table.

执行前者的命令是:

alter table Table1 drop constraint if exists name_of_constraint_on_Table_1_column

执行后者的命令是:

alter table Table1
add constraint name_of_constraint_on_Table_1_column
foreign key (column) references Table3 (other_column) match full

如果您没有明确命名,您需要找到外键约束的名称。您可以通过 \d 命令执行此操作:

\d Table1

您应该阅读有关 alter table 的内容,因为您可以做很多事情来更改 table。