文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

PostgreSQL 通知设置

本页记录了将 POSTGRES 服务配置为目标的设置存储桶通知.发布事件到 PostgreSQL有关使用这些设置的教程。

您可以通过定义以下内容来建立或修改设置:

  • an 环境变量在启动或重启 MinIO 服务器之前,请在主机系统上设置此环境变量。 有关如何定义环境变量,请参阅操作系统的文档。

  • a 配置设置使用mc admin config set.

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

某些设置只有环境变量或配置设置,但没有两者都提供。

重要

每个配置设置控制着 MinIO 的基本行为和功能。 MinIO强烈建议在应用到生产环境之前,先在较低环境(如开发环境或测试环境)中测试配置变更。

多个 PostgreSQL 目标

您可以通过附加唯一标识符来指定多个 PostgreSQL 服务端点_ID对于每组相关的PostPostgreSQL设置,将其映射到顶级键。 例如,以下命令设置了两个不同的PostgreSQL服务端点作为PRIMARYSECONDARY分别:

export MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_SECONDARY="namespace"
mc admin config set notify_postgres:primary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_postgres:secondary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

使用这些设置,MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY表示环境变量与ID为的PostgreSQL服务端点相关联PRIMARY.

设置

启用

必需

MINIO_NOTIFY_POSTGRES_ENABLE

指定on以启用将存储桶通知发布到 PostgreSQL 服务端点的功能。

默认值为off.

如果设置为,需要指定以下额外的环境变量on:

notify_postgres

用于定义 PostgreSQL 服务端点的顶级配置键MinIO 存储桶通知.

使用mc admin config set要设置或更新 PostgreSQL 服务端点。 以下参数是必需对于每个目标:

将其他可选参数指定为空格分隔的" ")-分隔的列表。

mc admin config set notify_postgres                            \
  connection_string="host=postgresql.example.com port=5432..." \
  table="minioevents"                                          \
  format="namespace"                                           \
  [ARGUMENT="VALUE"] ...

连接字符串

必需

MINIO_NOTIFY_POSTGRES_CONNECTION_STRING
notify_postgres 连接字符串

指定URI 连接字符串PostgreSQL 服务端点。 MinIO 支持key=valuePostgreSQL 连接字符串的格式。 例如:

"host=https://postgresql.example.com port=5432 ..."

有关支持的 PostgreSQL 连接字符串参数的更完整文档,请参阅PostgreSQL 连接字符串文档.

Changed in version RELEASE.2023-05-27T05-56-19Z:MinIO 在添加目标之前会检查指定 URL 的健康状态(是否可解析和可达)。 即使现有通知目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Table

必需

MINIO_NOTIFY_POSTGRES_TABLE
notify_postgres table

指定 MinIO 发布事件通知的 PostgreSQL 表名称。

格式

必需

MINIO_NOTIFY_POSTGRES_FORMAT
notify_postgres 格式

指定写入 PostgreSQL 服务端点的事件数据格式。 MinIO 支持以下值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,将事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档正文的一部分。 对该对象的后续更新会修改该对象的现有表条目。 同样,删除对象也会删除相应的表条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并使用 PostgreSQL 生成的随机 ID 将其附加到表中。 对对象的其他更新会产生新的索引条目,而现有条目保持不变。

最大打开连接数

可选

MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS
notify_postgres max_open_connections

指定到 PostgreSQL 数据库的最大打开连接数。

默认值为2.

队列目录

可选

MINIO_NOTIFY_POSTGRES_QUEUE_DIR
notify_postgres queue_dir

指定目录路径以启用 MinIO 的持久化事件存储,用于存放未送达的消息,例如/opt/minio/events.

MinIO 在 PostgreSQL 服务器/代理离线期间将未送达的事件存储在指定存储中,并在连接恢复时重放已存储的事件。

队列限制

可选

MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT
notify_postgres queue_limit

指定未送达消息的最大限制。 默认值为100000.

评论

可选

MINIO_NOTIFY_POSTGRES_COMMENT
notify_postgres 评论

指定要与 PostgreSQL 配置关联的注释。