SQL COMMAND · 其它对象
ALTER PROPERTY GRAPH
更改 SQL 属性图的定义
ALTER其它对象引入 19于 20 移除0 次语法变更
- 动词
ALTER- 对象
PROPERTY GRAPH- 分组
- 其它对象
- 引入版本
- 19
- 状态
- 于 20 移除
- 语法变更次数
- 0
- 手册小节数
- 6
版本轨迹
PostgreSQL 19 新增此命令。
PostgreSQL 19 beta 3 尚未正式发布;本页来自对应手册快照,内容仍可能变化。
语法铁道图 PostgreSQL 19
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
ALTER PROPERTY GRAPH · 语法 2
ALTER PROPERTY GRAPH · 语法 3
ALTER PROPERTY GRAPH · 语法 4
ALTER PROPERTY GRAPH · 语法 5
ALTER PROPERTY GRAPH · 语法 6
ALTER PROPERTY GRAPH · 语法 7
ALTER PROPERTY GRAPH · 语法 8
ALTER PROPERTY GRAPH · 语法 9
ALTER PROPERTY GRAPH · 语法 10
语法概要
ALTER PROPERTY GRAPHnameADD [ {VERTEX|NODE} TABLES (vertex_table_definition[, ...] ) ] [ {EDGE|RELATIONSHIP} TABLES (edge_table_definition[, ...] ) ] ALTER PROPERTY GRAPHnameDROP {VERTEX|NODE} TABLES (vertex_table_alias[, ...] ) [ CASCADE | RESTRICT ] ALTER PROPERTY GRAPHnameDROP {EDGE|RELATIONSHIP} TABLES (edge_table_alias[, ...] ) [ CASCADE | RESTRICT ] ALTER PROPERTY GRAPHnameALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLEelement_table_alias{ ADD LABELlabel_name[ NO PROPERTIES | PROPERTIES ALL COLUMNS | PROPERTIES ( {expression[ ASproperty_name] } [, ...] ) ] } [ ... ] ALTER PROPERTY GRAPHnameALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLEelement_table_aliasDROP LABELlabel_name[ CASCADE | RESTRICT ] ALTER PROPERTY GRAPHnameALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLEelement_table_aliasALTER LABELlabel_nameADD PROPERTIES ( {expression[ ASproperty_name] } [, ...] ) ALTER PROPERTY GRAPHnameALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLEelement_table_aliasALTER LABELlabel_nameDROP PROPERTIES (property_name[, ...] ) [ CASCADE | RESTRICT ] ALTER PROPERTY GRAPHnameOWNER TO {new_owner| CURRENT_USER | SESSION_USER } ALTER PROPERTY GRAPHnameRENAME TOnew_nameALTER PROPERTY GRAPH [ IF EXISTS ]nameSET SCHEMAnew_schema
描述
ALTER PROPERTY GRAPH 用于更改现有属性图的定义。它有几种子形式:
ADD {VERTEX|NODE|EDGE|RELATIONSHIP} TABLES这种形式会向属性图中添加新的顶点表或边表,语法与
CREATE PROPERTY GRAPH相同。DROP {VERTEX|NODE|EDGE|RELATIONSHIP} TABLES这种形式会从属性图中移除顶点表或边表。(这里只移除了表与图之间的关联,表本身不会被删除。)
ALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE ... ADD LABEL这种形式会向现有顶点表或边表添加一个新标签,语法与
CREATE PROPERTY GRAPH相同。ALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE ... DROP LABEL这种形式会从现有顶点表或边表中移除一个标签。不能删除元素表上的最后一个标签; 每个顶点表或边表必须至少有一个标签。
ALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE ... ALTER LABEL ... ADD PROPERTIES这种形式会向现有顶点表或边表上已有的标签添加新的属性。
ALTER {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE ... ALTER LABEL ... DROP PROPERTIES这种形式会从现有顶点表或边表上已有的标签移除属性。
OWNER这种形式会把属性图的所有者更改为指定用户。
RENAME这种形式会更改属性图的名称。
SET SCHEMA这种形式会把属性图移动到另一个模式中。
使用 ALTER PROPERTY GRAPH 时,你必须是该属性图的所有者。要更改属性图的模式,你还必须对新模式拥有 CREATE 权限。要更改所有者,你必须能够使用 SET ROLE 切换到新的所有者角色,而且该角色必须对属性图所在模式拥有 CREATE 权限。(这些限制用于确保,更改所有者不会做出任何你不能通过删除并重新创建该属性图来完成的事情。不过,超级用户无论如何都可以更改任何属性图的所有权。)
参数
name要修改的属性图名称(可以带模式限定)。
IF EXISTS如果属性图不存在,则不抛出错误。在这种情况下会发出一条提示。
vertex_table_definitionedge_table_definitionvertex_table_aliasedge_table_alias要操作的现有顶点表或边表的别名。(注意,如果顶点表或边表是用
AS创建的,那么该别名可能不同于底层表名。)aliaslabel_nameproperty_nameexpressionnew_owner属性图新所有者的用户名。
new_name属性图的新名称。
new_schema属性图的新模式。
注意
在 the section called “注意” 中描述的属性图一致性检查,必须由 ALTER PROPERTY GRAPH 操作保持满足。在某些情况下,可能需要在单个命令中执行多个修改,才能满足这些检查。
示例
ALTER PROPERTY GRAPH g1 ADD VERTEX TABLES (v2); ALTER PROPERTY GRAPH g1 ALTER VERTEX TABLE v1 DROP LABEL foo; ALTER PROPERTY GRAPH g1 RENAME TO g2;
兼容性
ALTER PROPERTY GRAPH 符合 ISO/IEC 9075-16(SQL/PGQ)。
另请参阅
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 20← 19移除此命令
PostgreSQL 19← 18新增此命令
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
COMMENT | COMMENT | — | 203 次 | |
| 定义或修改对象的注释 | 现存 | |||
REPACK | REPACK | — | — | |
| 重写表以回收磁盘空间 | 现存 | |||
ALTER LARGE OBJECT | ALTER | LARGE OBJECT | 141 次 | |
| 更改一个大对象的定义 | 现存 | |||
CREATE PROPERTY GRAPH | CREATE | PROPERTY GRAPH | — | |
| 定义一个新的 SQL 属性图 | 于 20 移除 | |||
ALTER PROPERTY GRAPH | ALTER | PROPERTY GRAPH | — | |
| 更改 SQL 属性图的定义 | 于 20 移除 | |||
DROP PROPERTY GRAPH | DROP | PROPERTY GRAPH | — | |
| 删除 SQL 属性图 | 于 20 移除 | |||