我希望PostegreSQL能够放松一下.每次我想要更改视图中使用的列时,似乎我必须删除视图,更改字段然后重新创建视图.我是否可以放弃额外的保护并告诉PostgreSQL让我更改字段然后找出对视图的调整?
澄清: 我理解一个观点是什么.事实上,这是因为视图就像一个子查询,我希望我可以更改基础表并让视图获取更改.
假设我有以下内容:
CREATE TABLE monkey
(
"name" character varying(50) NOT NULL,
)
CREATE OR REPLACE VIEW monkey_names AS
SELECT name
FROM monkey
Run Code Online (Sandbox Code Playgroud)
我真的只想在迁移脚本中执行以下操作,而不必删除并重新创建视图.
ALTER TABLE monkey ALTER COLUMN "name" character varying(100) NOT NULL
Run Code Online (Sandbox Code Playgroud) 文档的generate_series说这样的说法可能是int或bigint用于generate_series(start, stop)与generate_series(start, stop, step)案件timestamp或timestamp with time zone为generate_series(start, stop, step interval).
generate_series使用date类型作为输入和返回的原因是什么timestamp with timezone?
pg=# select generate_series('2014-01-01'::date,'2014-01-02'::date,'1 day');
generate_series
------------------------
2014-01-01 00:00:00+01
2014-01-02 00:00:00+01
(2 rows)
Run Code Online (Sandbox Code Playgroud)