我有一个简单的视图,可以连接两个字符串。 在Postgresql中,我无法命名以创建列或以后重命名。 PostgreSQL的输出具有线
d.dirname || f.fname AS "?column?"
。 可以将其用作重新创建视图的输入。 但是,除"?column?"
以外的任何名称都被拒绝。 alter table rename
也不起作用。
有一种方法可以命名列?
\d+ fpathv
View "public.fpathv"
Column | Type | Collation | Nullable | Default | Storage | Description
----------+--------+-----------+----------+---------+----------+-------------
fileid | bigint | | | | plain |
dirid | bigint | | | | plain |
?column? | text | | | | extended |
View definition:
SELECT f.fileid,
d.dirid,
d.dirname || f.fname AS "?column?"
FROM files f,
dirs d
WHERE f.dirid = d.dirid;
CREATE VIEW v (col1, ...) AS SELECT x || y, ...
or
CREATE VIEW v AS SELECT x || y AS col1, ...
和
alter view
重命名列:demo at db <>fiddle
ALTER VIEW IF EXISTS fpathv RENAME COLUMN "?column?" TO new_column_name;
ALTER TABLE IF EXISTS fpathv RENAME COLUMN new_column_name TO newer_column_name;
select*from fpathv;
alter table..rename column
来做到这一点,但是alter view
dirid
1 | 1 | |
---|---|---|