SQL COMMAND · 表与视图
ALTER MATERIALIZED VIEW
更改一个物化视图的定义
ALTER表与视图引入 10(基线)现存至 20 devel2 次语法变更
- 动词
ALTER- 对象
MATERIALIZED VIEW- 分组
- 表与视图
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 2
- 手册小节数
- 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 ]nameaction[, ... ] ALTER MATERIALIZED VIEWname[ NO ] DEPENDS ON EXTENSIONextension_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME [ COLUMN ]column_nameTOnew_column_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME TOnew_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameSET SCHEMAnew_schemaALTER MATERIALIZED VIEW ALL IN TABLESPACEname[ OWNED BYrole_name[, ... ] ] SET TABLESPACEnew_tablespace[ NOWAIT ] 其中action可以是以下之一: ALTER [ COLUMN ]column_nameSET STATISTICSintegerALTER [ COLUMN ]column_nameSET (attribute_option=value[, ... ] ) ALTER [ COLUMN ]column_nameRESET (attribute_option[, ... ] ) ALTER [ COLUMN ]column_nameSET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ALTER [ COLUMN ]column_nameSET COMPRESSIONcompression_methodCLUSTER ONindex_nameSET WITHOUT CLUSTER SET ACCESS METHODnew_access_methodSET TABLESPACEnew_tablespaceSET (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 14← 13语法变化
+ 其中 action 可以是以下之一:+ ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }+ ALTER [ COLUMN ] column_name SET COMPRESSION compression_method+ SET ACCESS METHOD new_access_method+ OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }− 其中action为以下之一:− ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }− OWNER TO { new_owner | CURRENT_USER | SESSION_USER }正文更新PostgreSQL 13← 12语法变化
+ [ NO ] DEPENDS ON EXTENSION extension_name− DEPENDS ON EXTENSION extension_name正文更新PostgreSQL 12← 11正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
TRUNCATE | TRUNCATE | — | — | |
| 清空一个表或一组表 | 现存 | |||
CREATE MATERIALIZED VIEW | CREATE | MATERIALIZED VIEW | 121 次 | |
| 定义一个新物化视图 | 现存 | |||
ALTER MATERIALIZED VIEW | ALTER | MATERIALIZED VIEW | 142 次 | |
| 更改一个物化视图的定义 | 现存 | |||
DROP MATERIALIZED VIEW | DROP | MATERIALIZED VIEW | — | |
| 移除一个物化视图 | 现存 | |||
REFRESH MATERIALIZED VIEW | REFRESH | MATERIALIZED VIEW | — | |
| 替换物化视图的内容 | 现存 | |||
CREATE SEQUENCE | CREATE | SEQUENCE | 141 次 | |
| 定义一个新的序列发生器 | 现存 | |||
ALTER SEQUENCE | ALTER | SEQUENCE | 141 次 | |
| 更改序列发生器的定义 | 现存 | |||
DROP SEQUENCE | DROP | SEQUENCE | — | |
| 移除一个序列 | 现存 | |||
CREATE TABLE | CREATE | TABLE | 206 次 | |
| 定义一个新表 | 现存 | |||
ALTER TABLE | ALTER | TABLE | 206 次 | |
| 更改一个表的定义 | 现存 | |||
DROP TABLE | DROP | TABLE | — | |
| 移除一个表 | 现存 | |||
CREATE TABLE AS | CREATE | TABLE AS | 192 次 | |
| 根据查询结果定义一个新表 | 现存 | |||
CREATE VIEW | CREATE | VIEW | — | |
| 定义一个新视图 | 现存 | |||
ALTER VIEW | ALTER | VIEW | 142 次 | |
| 更改视图的定义 | 现存 | |||
DROP VIEW | DROP | VIEW | — | |
| 移除一个视图 | 现存 | |||