ALTER NOTIFIER

更新现有通知程序。

语法

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 捆绑包时,都必须重复此步骤。

  1. 在设置 TLSMODE、证书和 CA 捆绑包时,使用 CREATE 或 ALTER 以禁用通知程序。

    => ALTER NOTIFIER encrypted_notifier
        DISABLE
        TLSMODE 'verify-ca'
        CA BUNDLE ca_bundle2;
    
  2. 更改通知程序并为 SASL_SSL 设置适合的 rdkafka 适配器参数。

    => ALTER NOTIFIER encrypted_notifier PARAMETERS
      'sasl.username=user;sasl.password=password;sasl.mechanism=PLAIN;security.protocol=SASL_SSL';
    
  3. 启用通知程序。

    => 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;

另请参阅