# 更改外部数据包装器

ALTER FOREIGN DATA WRAPPER — 更改外部数据包装器的定义

# 概要

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

# 描述

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

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

# 参数

姓名

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

处理程序 *handler_function*

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

没有处理程序

这用于指定外部数据包装器不应再具有处理程序函数。

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

验证器 *验证器函数*

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

请注意,根据新的验证器,外部数据包装器或依赖服务器、用户映射或外部表的预先存在的选项可能是无效的。PostgreSQL 不检查这个。在使用修改后的外部数据包装器之前,由用户确保这些选项是正确的。但是,在此指定的任何选项更改外部数据包装器将使用新的验证器检查命令。

没有验证者

这用于指定外部数据包装器不应再具有验证器功能。

选项([添加|设置|删除] *选项* ['*价值*'] [, ... ] )

更改外部数据包装器的选项。添加,, 和降低指定要执行的操作。添加如果没有明确指定操作,则假定。选项名称必须是唯一的;名称和值也使用外部数据包装器的验证器函数(如果有)进行验证。

新主人

外部数据包装器的新所有者的用户名。

新名字

外部数据包装器的新名称。

# 例子

更改外部数据包装器dbi, 添加选项, 降低酒吧

ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP 'bar');

更改外部数据包装器dbi验证人bob.myvalidator

ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;

# 兼容性

更改外部数据包装器符合 ISO/IEC 9075-9 (SQL/MED),除了处理程序, 验证器, 拥有者, 和改名子句是扩展。

# 也可以看看

创建外部数据包装器, 丢弃外国数据包装器