SQL COMMAND · 外部数据
ALTER FOREIGN DATA WRAPPER
更改外部数据包装器的定义
ALTER外部数据引入 10(基线)现存至 20 devel2 次语法变更
- 动词
ALTER- 对象
FOREIGN DATA WRAPPER- 分组
- 外部数据
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 2
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
ALTER FOREIGN DATA WRAPPER · 语法 2
ALTER FOREIGN DATA WRAPPER · 语法 3
语法概要
ALTER FOREIGN DATA WRAPPERname[ HANDLERhandler_function| NO HANDLER ] [ VALIDATORvalidator_function| NO VALIDATOR ] [ OPTIONS ( [ ADD | SET | DROP ]option['value'] [, ... ]) ] ALTER FOREIGN DATA WRAPPERnameOWNER TO {new_owner| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER FOREIGN DATA WRAPPERnameRENAME TOnew_name
描述
ALTER FOREIGN DATA WRAPPER更改外部数据包装器的 定义。该命令的第一种形式更改外部数据包装器的支持函数或通用选项 (至少需要一个子句)。第二种形式更改外部数据包装器的拥有者。
只有超级用户可以更改外部数据包装器。此外,只有超级用户才能成为外部 数据包装器的拥有者。
参数
name一个现有外部数据包装器的名称。
HANDLERhandler_function为外部数据包装器指定一个新的处理器函数。
NO HANDLER用于指定该外部数据包装器不再具有一个处理器函数。
注意,使用没有处理器函数的外部数据包装器的外部表将无法访问。
VALIDATORvalidator_function为外部数据包装器指定一个新的验证器函数。
注意,该外部数据包装器本身或者依赖它的服务器、用户映射或外部表中 预先存在的选项,根据新的验证器可能是无效的。PostgreSQL 不会检查这一点。用户必须在使用修改后的外部数据包装器之前自行确保 这些选项正确。不过,在此
ALTER FOREIGN DATA WRAPPER命令中指定的任何选项,都会使用新的验证器进行 检查。NO VALIDATOR用于指定该外部数据包装器不再具有验证器函数。
OPTIONS ( [ ADD | SET | DROP ]option['value'] [, ... ] )更改外部数据包装器的选项。
ADD、SET和DROP指定要执行的动作。如果未显式指定操作, 则假定为ADD。选项名称必须唯一;如果存在验证器 函数,选项名称和值也会使用该外部数据包装器的验证器函数进行验证。new_owner该外部数据包装器的新拥有者的用户名。
new_name该外部数据包装器的新名称。
示例
更改外部数据包装器dbi,添加选项foo, 删除bar:
ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP bar);
将外部数据包装器dbi的验证器更改为 bob.myvalidator:
ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;
兼容性
ALTER FOREIGN DATA WRAPPER符合 ISO/IEC 9075-9 (SQL/MED),但HANDLER、 VALIDATOR、OWNER TO和 RENAME子句属于扩展。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 19← 18语法变化
+ [ CONNECTION connection_function | NO CONNECTION ]正文更新PostgreSQL 14← 13语法变化
+ ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }− ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }正文更新PostgreSQL 12← 11正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE FOREIGN DATA WRAPPER | CREATE | FOREIGN DATA WRAPPER | 191 次 | |
| 定义一个新的外部数据包装器 | 现存 | |||
ALTER FOREIGN DATA WRAPPER | ALTER | FOREIGN DATA WRAPPER | 192 次 | |
| 更改外部数据包装器的定义 | 现存 | |||
DROP FOREIGN DATA WRAPPER | DROP | FOREIGN DATA WRAPPER | — | |
| 移除一个外部数据包装器 | 现存 | |||
IMPORT FOREIGN SCHEMA | IMPORT | FOREIGN SCHEMA | — | |
| 从一个外部服务器导入表定义 | 现存 | |||
CREATE FOREIGN TABLE | CREATE | FOREIGN TABLE | 143 次 | |
| 定义一个新外部表 | 现存 | |||
ALTER FOREIGN TABLE | ALTER | FOREIGN TABLE | 142 次 | |
| 更改外部表的定义 | 现存 | |||
DROP FOREIGN TABLE | DROP | FOREIGN TABLE | — | |
| 移除一个外部表 | 现存 | |||
CREATE SERVER | CREATE | SERVER | 111 次 | |
| 定义一个新的外部服务器 | 现存 | |||
ALTER SERVER | ALTER | SERVER | 141 次 | |
| 更改外部服务器的定义 | 现存 | |||
DROP SERVER | DROP | SERVER | — | |
| 移除一个外部服务器描述符 | 现存 | |||
CREATE USER MAPPING | CREATE | USER MAPPING | 142 次 | |
| 定义用户到外部服务器的新映射 | 现存 | |||
ALTER USER MAPPING | ALTER | USER MAPPING | 141 次 | |
| 更改用户映射的定义 | 现存 | |||
DROP USER MAPPING | DROP | USER MAPPING | 141 次 | |
| 删除外部服务器的用户映射 | 现存 | |||