SQL COMMAND · 表与视图
ALTER MATERIALIZED VIEW
更改一个物化视图的定义
change the definition of a materialized view
ALTER表与视图引入 9.3现存至 20 devel8 次语法变更
- 动词
ALTER- 对象
MATERIALIZED VIEW- 分组
- 表与视图
- 引入版本
- 9.3
- 状态
- 现存
- 语法变更次数
- 8
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
ALTER MATERIALIZED VIEW · 语法 2
ALTER MATERIALIZED VIEW · 语法 3
ALTER MATERIALIZED VIEW · 语法 4
ALTER MATERIALIZED VIEW · 语法 5
ALTER MATERIALIZED VIEW · 语法 6
action
语法概要
ALTER MATERIALIZED VIEW [ IF EXISTS ] name action [, ... ] ALTER MATERIALIZED VIEW name [ NO ] DEPENDS ON EXTENSION extension_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name RENAME [ COLUMN ] column_name TO new_column_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name RENAME TO new_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name SET SCHEMA new_schema ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ] SET TABLESPACE new_tablespace [ NOWAIT ] 其中 action 可以是以下之一: ALTER [ COLUMN ] column_name SET STATISTICS integer ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ALTER [ COLUMN ] column_name SET COMPRESSION compression_method CLUSTER ON index_name SET WITHOUT CLUSTER SET ACCESS METHOD new_access_method SET TABLESPACE new_tablespace SET ( storage_parameter [= value] [, ... ] ) RESET ( storage_parameter [, ... ] ) OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
描述
ALTER MATERIALIZED VIEW 更改一个现有物化视图的各种辅助属性。
要使用 ALTER MATERIALIZED VIEW,你必须拥有该物化视图。要更改一个物化视图的模式,你还必须具有新模式上的 CREATE 权限。要更改拥有者,你必须能够对新拥有角色执行 SET ROLE,并且该角色必须具有该物化视图所在模式上的 CREATE 权限。(这些限制确保,更改拥有者不会做到你无法通过删除并重新创建该物化视图来完成的事情。不过,超级用户无论如何都可以更改任何视图的所有权。)
可用于 ALTER MATERIALIZED VIEW 的语句形式和动作是
ALTER TABLE 可用形式的一个子集,并且在用于物化视图时具有相同的含义。有关细节请参见 ALTER TABLE 中的说明。
参数
name一个现有物化视图的名称(可以是模式限定的)。
column_name现有列的名称。
extension_name该物化视图要依赖的扩展名称(如果指定了
NO,则表示不再依赖)。删除扩展时,标记为依赖于该扩展的物化视图会被自动删除。new_column_name现有列的新名称。
new_owner该物化视图的新拥有者的用户名。
new_name该物化视图的新名称。
new_schema该物化视图的新模式。
示例
把物化视图 foo 重命名为
bar:
ALTER MATERIALIZED VIEW foo RENAME TO bar;
兼容性
ALTER MATERIALIZED VIEW 是一种
PostgreSQL 扩展。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 16← 15语法变化
+ ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }正文更新PostgreSQL 15← 14语法变化
+ SET ACCESS METHOD new_access_method+ SET TABLESPACE new_tablespacePostgreSQL 14← 13语法变化
+ ALTER [ COLUMN ] column_name SET COMPRESSION compression_method+ OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }PostgreSQL 13← 12语法变化
+ [ NO ] DEPENDS ON EXTENSION extension_name正文更新PostgreSQL 12← 11正文更新
正文更新PostgreSQL 10← 9.6语法变化
+ SET TABLESPACE new_tablespace+ SET ( storage_parameter [= value] [, ... ] )PostgreSQL 9.6← 9.5语法变化
+ ALTER MATERIALIZED VIEW name+ DEPENDS ON EXTENSION extension_name正文更新PostgreSQL 9.5← 9.4语法变化
+ SET ( storage_parameter [= value] [, ... ] )+ OWNER TO { new_owner | CURRENT_USER | SESSION_USER }PostgreSQL 9.4← 9.3语法变化
+ ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]+ SET TABLESPACE new_tablespace [ NOWAIT ]− SET TABLESPACE new_tablespacePostgreSQL 9.3← 9.2新增此命令
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
TRUNCATE | TRUNCATE | — | 8.43 次 | |
| 清空一个表或一组表 | 现存 | |||
CREATE MATERIALIZED VIEW | CREATE | MATERIALIZED VIEW | 122 次 | |
| 定义一个新物化视图 | 现存 | |||
ALTER MATERIALIZED VIEW | ALTER | MATERIALIZED VIEW | 168 次 | |
| 更改一个物化视图的定义 | 现存 | |||
DROP MATERIALIZED VIEW | DROP | MATERIALIZED VIEW | — | |
| 移除一个物化视图 | 现存 | |||
REFRESH MATERIALIZED VIEW | REFRESH | MATERIALIZED VIEW | 9.41 次 | |
| 替换物化视图的内容 | 现存 | |||
CREATE SEQUENCE | CREATE | SEQUENCE | 188 次 | |
| 定义一个新的序列发生器 | 现存 | |||
ALTER SEQUENCE | ALTER | SEQUENCE | 1810 次 | |
| 更改序列发生器的定义 | 现存 | |||
DROP SEQUENCE | DROP | SEQUENCE | 8.23 次 | |
| 移除一个序列 | 现存 | |||
CREATE TABLE | CREATE | TABLE | 1920 次 | |
| 定义一个新表 | 现存 | |||
ALTER TABLE | ALTER | TABLE | 1826 次 | |
| 更改一个表的定义 | 现存 | |||
DROP TABLE | DROP | TABLE | 8.23 次 | |
| 移除一个表 | 现存 | |||
CREATE TABLE AS | CREATE | TABLE AS | 1911 次 | |
| 根据查询结果定义一个新表 | 现存 | |||
CREATE VIEW | CREATE | VIEW | 9.47 次 | |
| 定义一个新视图 | 现存 | |||
ALTER VIEW | ALTER | VIEW | 145 次 | |
| 更改视图的定义 | 现存 | |||
DROP VIEW | DROP | VIEW | 8.24 次 | |
| 移除一个视图 | 现存 | |||