↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

百科 / SQL 命令 / 外部数据

SQL COMMAND · 外部数据

ALTER FOREIGN DATA WRAPPER

更改外部数据包装器的定义

change the definition of a foreign-data wrapper

ALTER外部数据引入 8.4现存至 20 devel5 次语法变更

动词
ALTER
对象
FOREIGN DATA WRAPPER
引入版本
8.4
状态
现存
语法变更次数
5
手册小节数
5

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

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

ALTER FOREIGN DATA WRAPPER name HANDLER handler_function NO HANDLER VALIDATOR validator_function NO VALIDATOR OPTIONS ( ADD SET DROP option ' value ' , )
ALTER FOREIGN DATA WRAPPER · 语法 2
ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner CURRENT_ROLE CURRENT_USER SESSION_USER
ALTER FOREIGN DATA WRAPPER · 语法 3
ALTER FOREIGN DATA WRAPPER name RENAME TO new_name

语法概要

ALTER FOREIGN DATA WRAPPER name
[ HANDLER handler_function | NO HANDLER ]
[ VALIDATOR validator_function | NO VALIDATOR ]
[ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ]
ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER FOREIGN DATA WRAPPER name RENAME TO new_name

PostgreSQL 18 手册 · 查看完整参考页

描述

ALTER FOREIGN DATA WRAPPER 更改外部数据包装器的定义。该命令的第一种形式更改外部数据包装器的支持函数或通用选项(至少需要一个子句)。第二种形式更改外部数据包装器的拥有者。

只有超级用户可以更改外部数据包装器。此外,只有超级用户才能成为外部数据包装器的拥有者。

参数

name

一个现有外部数据包装器的名称。

HANDLER handler_function

为外部数据包装器指定一个新的处理器函数。

NO HANDLER

用于指定该外部数据包装器不再具有一个处理器函数。

注意,使用没有处理器函数的外部数据包装器的外部表将无法访问。

VALIDATOR validator_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 子句属于扩展。

另见

语法演化

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

  1. PostgreSQL 19← 18语法变化

    + [ VALIDATOR validator_function | NO VALIDATOR ]+ [ CONNECTION connection_function | NO CONNECTION ]正文更新
  2. PostgreSQL 14← 13语法变化

    + ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
  3. PostgreSQL 12← 11正文更新

    正文更新
  4. PostgreSQL 9.5← 9.4语法变化

    + ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
  5. PostgreSQL 9.3← 9.2正文更新

    正文更新
  6. PostgreSQL 9.2← 9.1语法变化

    + ALTER FOREIGN DATA WRAPPER name RENAME TO new_name正文更新
  7. PostgreSQL 9.1← 9.0语法变化

    + [ HANDLER handler_function | NO HANDLER ]+ [ VALIDATOR validator_function | NO VALIDATOR ]− [ VALIDATOR valfunction | NO VALIDATOR ]正文更新
  8. PostgreSQL 8.4← 8.3新增此命令

同组命令

命令动词对象版本变动最近变更
FOREIGN DATA外部数据13 条↑
CREATE FOREIGN DATA WRAPPERCREATEFOREIGN DATA WRAPPER 192 次
定义一个新的外部数据包装器现存
ALTER FOREIGN DATA WRAPPERALTERFOREIGN DATA WRAPPER 195 次
更改外部数据包装器的定义现存
DROP FOREIGN DATA WRAPPERDROPFOREIGN DATA WRAPPER 101 次
移除一个外部数据包装器现存
IMPORT FOREIGN SCHEMAIMPORTFOREIGN SCHEMA —
从一个外部服务器导入表定义现存
CREATE FOREIGN TABLECREATEFOREIGN TABLE 187 次
定义一个新外部表现存
ALTER FOREIGN TABLEALTERFOREIGN TABLE 167 次
更改外部表的定义现存
DROP FOREIGN TABLEDROPFOREIGN TABLE —
移除一个外部表现存
CREATE SERVERCREATESERVER 102 次
定义一个新的外部服务器现存
ALTER SERVERALTERSERVER 144 次
更改外部服务器的定义现存
DROP SERVERDROPSERVER 103 次
移除一个外部服务器描述符现存
CREATE USER MAPPINGCREATEUSER MAPPING 143 次
定义用户到外部服务器的新映射现存
ALTER USER MAPPINGALTERUSER MAPPING 143 次
更改用户映射的定义现存
DROP USER MAPPINGDROPUSER MAPPING 142 次
删除外部服务器的用户映射现存