ALTER NOTIFIER
更新现有通知程序。
注意
要更改与现有标识符关联的操作 URL,请 删除通知程序并重新创建。语法
ALTER NOTIFIER notifier‑name
[ ENABLE | DISABLE ]
[ MAXPAYLOAD 'max‑payload‑size' ]
[ MAXMEMORYSIZE 'max‑memory‑size' ]
[ TLSMODE 'tls‑mode' ]
[ CA BUNDLE bundle‑name [ CERTIFICATE certificate‑name ] ]
[ IDENTIFIED BY 'uuid' ]
[ [NO] CHECK COMMITTED ]
[ PARAMETERS 'adapter‑params' ]
参数
- notifier‑name
- 指定要更新的通知程序。
[NO] CHECK COMMITTED
- 指定在发送队列中的下一条消息之前等待传递确认。并非所有消息传递系统都支持传递确认。
ENABLE | DISABLE
- 指定启用还是禁用通知程序。
MAXPAYLOAD
- 消息的最大大小,最大为 2 TB,以 KB、MB、GB 或 TB 为单位指定,如下所示:
MAXPAYLOAD integer{K|M|G|T}
默认设置特定于适配器,例如 Kafka 为 1 M。
对此参数的更改,在通知程序后禁用并重新启用或在数据库重新启动后生效。
MAXMEMORYSIZE
- 内部通知程序的最大大小,最大为 2 TB,以 KB、MB、GB 或 TB 为单位指定,如下所示:
MAXMEMORYSIZE integer{K|M|G|T}
如果队列超过此大小,通知程序将删除多余的消息。
-
TLSMODE 'tls‑mode'
指定通知程序和端点之间的连接类型,可以是以下类型之一:
-
disable
(默认值):明文连接。 -
verify-ca
:加密连接,且服务器的证书已经验证为由受信任的 CA 签名。
如果通知程序
ACTION
为'syslog'
,则该参数无效;您必须为 TLS 配置 syslog 才能为这些 Vertica syslog 通知程序启用加密。-
-
CA BUNDLE bundle‑name
指定 CA 捆绑包。如果
TLSMODE
需要,捆绑包中的证书可用于验证 Kafka 服务器的证书。如果为当前使用
disable
的通知程序指定了 CA 捆绑包,而不会验证 Kafka 服务器的证书,则在连接到 Kafka 服务器时,将不使用该捆绑包。除非将TLSMODE
更改为验证服务器证书行为,否则此行为会持续存在。对 CA 捆绑包内容的更改,在通知程序后禁用并重新启用或在数据库重新启动后生效。但是,对通知程序所用的 CA 捆绑包的更改会立即生效。
如果通知程序
ACTION
为'syslog'
,则该参数无效;您必须为 TLS 配置 syslog 才能为这些 Vertica syslog 通知程序启用加密。-
CERTIFICATE certificate‑name
指定一个供端点验证的客户端证书。
如果通知程序
ACTION
为'syslog'
,则该参数无效;您必须为 TLS 配置 syslog 才能为这些 Vertica syslog 通知程序启用加密。-
IDENTIFIED BY 'uuid'
- 指定通知程序的唯一标识符。如果设置,则此通知程序发布的所有消息都具有此属性。
-
PARAMETERS 'adapter‑params'
- 指定以字符串形式传递给适配器的一个或多个可选适配器参数。适配器参数仅适用于与通知程序关联的适配器。
对此参数的更改,在通知程序后禁用并重新启用或在数据库重新启动后生效。
对于 Kafka 通知程序,请参阅 Kafka 和 Vertica 配置设置。
特权
超级用户
SASL_SSL Kafka 配置的加密通知程序
按照此步骤,为使用 SASL_SSL 的 Kafka 端点创建或更改通知程序。请注意,每当您更改给定通知程序的 TLSMODE、证书或 CA 捆绑包时,都必须重复此步骤。
-
在设置 TLSMODE、证书和 CA 捆绑包时,使用 CREATE 或 ALTER 以禁用通知程序。
=> ALTER NOTIFIER encrypted_notifier DISABLE TLSMODE 'verify-ca' CA BUNDLE ca_bundle2;
-
更改通知程序并为 SASL_SSL 设置适合的 rdkafka 适配器参数。
=> ALTER NOTIFIER encrypted_notifier PARAMETERS 'sasl.username=user;sasl.password=password;sasl.mechanism=PLAIN;security.protocol=SASL_SSL';
-
启用通知程序。
=> ALTER NOTIFIER encrypted_notifier ENABLE;
示例
更新现有通知程序的设置:
=> ALTER NOTIFIER my_dc_notifier
ENABLE
MAXMEMORYSIZE '2G'
IDENTIFIED BY 'f8b0278a-3282-4e1a-9c86-e0f3f042a971'
CHECK COMMITTED;
更改 TLSMODE
并将 CA 捆绑包和证书添加到现有通知程序。此通知程序连接到 Kafka 服务器的证书,并验证其是否由受信任的 CA 签名。
=> ALTER NOTIFIER my_notifier
TLSMODE 'verify-ca'
CA BUNDLE ca_bundle
CERTIFICATE client_cert;