PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

ALTER FOREIGN DATA WRAPPER

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

Synopsis

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

描述

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 子句是扩展。

另请参阅

CREATE FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER