在PostgreSQL

时间:2015-10-08 17:50:28

标签: postgresql view rename

我在PostgreSQL数据库中有一个表x,以及一个基于x的视图x_view。

X:

CREATE TABLE x (
A double precision
);

x_view:

CREATE VIEW x_view AS
 SELECT x.A;

我将x中的列重命名为A到B.

ALTER TABLE x RENAME COLUMN A to B

当我查看视图的定义时,我会看到以下内容:

SELECT x.B AS A from x;

当我执行“SELECT * FROM x_view”时,现在标记为B的列仍标记为A.

为什么在执行“SELECT * FROM x_view”时视图不会自动更改列的名称?有没有办法强制它这样做,除了必须删除并重新创建视图?

1 个答案:

答案 0 :(得分:1)

您可以使用ALTER TABLE x_view RENAME COLUMN A to B  重命名视图列。

来源:@Peter Eisentraut的回答here我检查了我的数据库。