PostgreSQL 通知设置
本页面文档了配置POSTGRES服务作为 Bucket Notifications 目标的设置。 有关使用这些设置的教程,请参阅 将事件发布至PostgreSQL。
您可以通过定义以下内容来建立或修改设置:
在启动或重新启动 MinIO 服务器之前,在宿主系统上定义一个 环境变量。 请参阅您的操作系统的文档,了解如何定义环境变量。
使用
mc admin config set
命令来设置一个 配置项。使用 MinIO控制台 的 管理员 > 设置 页面来设置一个 配置项。
如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。
有些设置只有环境变量或配置设置,而不是两者都有。
重要
每个配置设置都控制着MinIO的基本行为和功能。 MinIO 强烈建议 在较低的环境中,如DEV或QA,测试配置更改,然后再将其应用到生产环境中。
多个 PostgreSQL 目标
您可以通过在顶级键后附加每个相关PostgreSQL设置集的唯一标识符 _ID
来指定多个PostgreSQL服务端点。
例如, 以下命令分别为两个不同的PostgreSQL服务端点设置为 PRIMARY
和 SECONDARY
:
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 为 PRIMARY
的 PostgreSQL 服务端点相关联。
设置
Enable
必需的
将 on
指定为启用将桶通知发布到PostgreSQL服务端点的功能。
默认为 off
。
如果设置为 on
,则需要指定以下附加环境变量:
用于定义与 MinIO 桶通知 一起使用的 PostgreSQL 服务端点的顶级配置键。
使用 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"] ...
连接字符串
必需的
指定 PostgreSQL 服务端点的 URI 连接字符串。
MinIO 支持 key=value
格式的 PostgreSQL 连接字符串。
例如:
"host=https://postgresql.example.com port=5432 ..."
有关支持PostgreSQL连接字符串参数的更完整文档,请参阅 PostgreSQL连接字符串文档。
在 RELEASE.2023-05-27T05-56-19Z 版本发生变更: 在添加目标之前,MinIO会检查指定URL的健康状况(如果其能被解析并可以访问)。 如果现有目标离线,MinIO不再阻止添加新的通知目标。
Table
必需的
指定MinIO发布事件通知的PostgreSQL表名称。
Format
必需的
指定写入PostgreSQL服务端点的事件数据的格式。 MinIO 支持以下值:
namespace
对于每个桶事件,MinIO都会创建一个JSON文档,其中文档ID是事件中的桶和对象名称,而实际事件则是文档体的一部分。 对那个对象的额外更新会修改该对象现有的表条目。 同样,删除对象也会删除相应的表条目。
access
对于每个桶事件,MinIO 会创建一个包含事件详情的JSON文档,并将其附加到具有由PostgreSQL生成的随机ID的表中。 对对象的额外更新会导致新的索引条目,而现有的条目保持未修改。
最大打开连接数
可选
指定向PostgreSQL数据库打开的最大连接数。
默认为 2
。
队列目录
可选
指定目录路径以启用MinIO的持久化事件存储,例如 /opt/minio/events
。
当PostgreSQL服务器/代理离线时,MinIO将未投递的事件存储在指定的存储中,并在连接恢复时重新播放存储的事件。
队列限制
可选
指定未发送消息的最大限制。
默认为 100000
。
Comment
可选
为PostgreSQL配置指定一个注释。