PostgreSQL 通知設定
本頁記錄將 POSTGRES 服務設定為 儲存桶通知 目標的設定。有關使用這些設定的教學課程,請參閱 將事件發佈到 PostgreSQL。
您可以透過以下方式建立或修改設定:
在啟動或重新啟動 MinIO 伺服器之前,在主機系統上定義環境變數。有關如何定義環境變數,請參閱您的作業系統文件。
使用
mc admin config set
使用組態設定。使用 MinIO 主控台的管理員 > 設定頁面使用組態設定。
如果您同時定義環境變數和類似的組態設定,MinIO 將使用環境變數值。
某些設定只有環境變數或組態設定,但沒有兩者。
重要事項
每個組態設定都控制著 MinIO 的基本行為和功能。MinIO 強烈建議在將組態變更套用至生產環境之前,先在較低的環境(例如 DEV 或 QA)中進行測試。
多個 PostgreSQL 目標
您可以透過在頂層金鑰上附加每個相關 PostgreSQL 設定的唯一識別碼 _ID
來指定多個 PostgreSQL 服務端點。例如,以下命令將兩個不同的 PostgreSQL 服務端點分別設定為 PRIMARY
和 SECONDARY
set MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
set MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
set MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"
set MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
set MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
set 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 服務端點相關聯。
設定
啟用
必要
指定 on
以啟用將儲存桶通知發佈到 PostgreSQL 服務端點。
預設為 off
。
如果設定為 on
,則需要指定以下其他環境變數
用於定義 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"] ...
連線字串
必要
指定 PostgreSQL 服務端點的 URI 連線字串。MinIO 支援 PostgreSQL 連線字串的 key=value
格式。例如
"host=https://postgresql.example.com port=5432 ..."
如需有關支援的 PostgreSQL 連線字串引數的更完整文件,請參閱 PostgreSQL 連線字串文件。
在 RELEASE.2023-05-27T05-56-19Z 版本中變更:MinIO 會先檢查指定的 URL 的健康狀況(如果它可解析且可連線),然後再新增目標。如果現有的目標離線,MinIO 不再阻止新增新的通知目標。
資料表
必要
指定 MinIO 發佈事件通知的 PostgreSQL 資料表名稱。
格式
必要
指定寫入 PostgreSQL 服務端點的事件資料格式。MinIO 支援下列值
namespace
對於每個儲存桶事件,MinIO 會建立一個 JSON 文件,其中包含事件的儲存桶和物件名稱作為文件 ID,而實際事件作為文件主體的一部分。對該物件的其他更新會修改該物件的現有資料表項目。同樣地,刪除物件也會刪除對應的資料表項目。
access
對於每個儲存桶事件,MinIO 會建立一個包含事件詳細資訊的 JSON 文件,並將其附加到資料表中,並使用 PostgreSQL 產生的隨機 ID。對物件的其他更新會產生新的索引項目,而現有項目保持不修改。
最大開啟連線數
選用
指定與 PostgreSQL 資料庫的最大開啟連線數。
預設為 2
。
佇列目錄
選用
指定目錄路徑以啟用 MinIO 對未傳遞訊息的持續事件儲存,例如 /opt/minio/events
。
當 PostgreSQL 伺服器/代理程式離線時,MinIO 會將未傳遞的事件儲存在指定的儲存區中,並在連線恢復時重新播放儲存的事件。
佇列限制
選用
指定未傳遞訊息的最大限制。預設為 100000
。
註解
選用
指定要與 PostgreSQL 設定相關聯的註解。