选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / SQL 命令 / 其它对象

SQL COMMAND · 其它对象

ALTER PROPERTY GRAPH

更改 SQL 属性图的定义

ALTER其它对象引入 19于 20 移除0 次语法变更

动词
ALTER
对象
PROPERTY GRAPH
引入版本
19
状态
于 20 移除
语法变更次数
0
手册小节数
6

本站手册 · 19 beta 3官方文档 ↗

版本轨迹

PostgreSQL 19 新增此命令。

PostgreSQL 19 beta 3 尚未正式发布;本页来自对应手册快照,内容仍可能变化。

语法铁道图 PostgreSQL 19

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

ALTER PROPERTY GRAPH name ADD VERTEX NODE TABLES ( vertex_table_definition , ) EDGE RELATIONSHIP TABLES ( edge_table_definition , )
ALTER PROPERTY GRAPH · 语法 2
ALTER PROPERTY GRAPH name DROP VERTEX NODE TABLES ( vertex_table_alias , ) CASCADE RESTRICT
ALTER PROPERTY GRAPH · 语法 3
ALTER PROPERTY GRAPH name DROP EDGE RELATIONSHIP TABLES ( edge_table_alias , ) CASCADE RESTRICT
ALTER PROPERTY GRAPH · 语法 4
ALTER PROPERTY GRAPH name ALTER VERTEX NODE EDGE RELATIONSHIP TABLE element_table_alias ADD LABEL label_name NO PROPERTIES PROPERTIES ALL COLUMNS PROPERTIES ( expression AS property_name , )
ALTER PROPERTY GRAPH · 语法 5
ALTER PROPERTY GRAPH name ALTER VERTEX NODE EDGE RELATIONSHIP TABLE element_table_alias DROP LABEL label_name CASCADE RESTRICT
ALTER PROPERTY GRAPH · 语法 6
ALTER PROPERTY GRAPH name ALTER VERTEX NODE EDGE RELATIONSHIP TABLE element_table_alias ALTER LABEL label_name ADD PROPERTIES ( expression AS property_name , )
ALTER PROPERTY GRAPH · 语法 7
ALTER PROPERTY GRAPH name ALTER VERTEX NODE EDGE RELATIONSHIP TABLE element_table_alias ALTER LABEL label_name DROP PROPERTIES ( property_name , ) CASCADE RESTRICT
ALTER PROPERTY GRAPH · 语法 8
ALTER PROPERTY GRAPH name OWNER TO new_owner CURRENT_USER SESSION_USER
ALTER PROPERTY GRAPH · 语法 9
ALTER PROPERTY GRAPH name RENAME TO new_name
ALTER PROPERTY GRAPH · 语法 10
ALTER PROPERTY GRAPH IF EXISTS name SET SCHEMA new_schema

语法概要

ALTER PROPERTY GRAPH name ADD
    [ {VERTEX|NODE} TABLES ( vertex_table_definition [, ...] ) ]
    [ {EDGE|RELATIONSHIP} TABLES ( edge_table_definition [, ...] ) ]

ALTER PROPERTY GRAPH name DROP
    {VERTEX|NODE} TABLES ( vertex_table_alias [, ...] ) [ CASCADE | RESTRICT ]

ALTER PROPERTY GRAPH name DROP
    {EDGE|RELATIONSHIP} TABLES ( edge_table_alias [, ...] ) [ CASCADE | RESTRICT ]

ALTER PROPERTY GRAPH name ALTER
    {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE element_table_alias
    { ADD LABEL label_name [ NO PROPERTIES | PROPERTIES ALL COLUMNS | PROPERTIES ( { expression [ AS property_name ] } [, ...] ) ] } [ ... ]

ALTER PROPERTY GRAPH name ALTER
    {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE element_table_alias
    DROP LABEL label_name [ CASCADE | RESTRICT ]

ALTER PROPERTY GRAPH name ALTER
    {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE element_table_alias
    ALTER LABEL label_name ADD PROPERTIES ( { expression [ AS property_name ] } [, ...] )

ALTER PROPERTY GRAPH name ALTER
    {VERTEX|NODE|EDGE|RELATIONSHIP} TABLE element_table_alias
    ALTER LABEL label_name DROP PROPERTIES ( property_name [, ...] ) [ CASCADE | RESTRICT ]

ALTER PROPERTY GRAPH name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER PROPERTY GRAPH name RENAME TO new_name
ALTER PROPERTY GRAPH [ IF EXISTS ] name SET SCHEMA new_schema

PostgreSQL 19 beta 3 手册 · 查看完整参考页

描述

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_definition
edge_table_definition

参见 CREATE PROPERTY GRAPH

vertex_table_alias
edge_table_alias

要操作的现有顶点表或边表的别名。(注意,如果顶点表或边表是用 AS alias 创建的,那么该别名可能不同于底层表名。)

label_name
property_name
expression

参见 CREATE PROPERTY GRAPH

new_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)。

另请参阅

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 20← 19移除此命令

  2. PostgreSQL 19← 18新增此命令

同组命令

命令动词对象版本变动最近变更
OTHER OBJECTS其它对象6 条
COMMENTCOMMENT 203 次
定义或修改对象的注释现存
REPACKREPACK
重写表以回收磁盘空间现存
ALTER LARGE OBJECTALTERLARGE OBJECT 141 次
更改一个大对象的定义现存
CREATE PROPERTY GRAPHCREATEPROPERTY GRAPH
定义一个新的 SQL 属性图于 20 移除
ALTER PROPERTY GRAPHALTERPROPERTY GRAPH
更改 SQL 属性图的定义于 20 移除
DROP PROPERTY GRAPHDROPPROPERTY GRAPH
删除 SQL 属性图于 20 移除

本站手册收录版本:19 beta 3

内容来自本站 PostgreSQL 手册译文,最后同步 2026-09-15。

译文问题请提交到 pgsty/pgdoc;本站展示或功能问题请提交到 pgsty/pgweb