概览
Datastream 使用 PostgreSQL WAL(预写式日志)事务日志来读取 PostgreSQL 数据流。日志存储在数据库服务器上的 WAL 文件中。WAL 日志中的每条记录表示对数据库中某个表中的实际数据的一次更改。
为 PostgreSQL WAL 文件设置配置参数
建议您将以下配置设置应用于 PostgreSQL 数据库:
max_slot_wal_keep_size
:设置此参数(仅适用于 PostgreSQL 13 及更高版本)可限制复制槽使用的存储空间量。这对于长时间运行的事务尤其重要,在极端情况下,可能会导致 WAL 文件大小占据整个存储空间并导致数据库崩溃。statement_timeout
:将此参数设置为所选值,以减少由长时间运行的交易导致的延迟时间。对于不支持max_slot_wal_keep_size
的数据库,您还可以使用statement_timeout
作为备用预防措施。wal_sender_timeout
:将此参数设置为0
(以停用超时)或大于或等于 10 分钟的值。
如果您计划创建的数据流超过 10 个,或者除了计划的数据流之外,其他资源使用的逻辑复制槽数量超过 10 个,请务必修改以下参数:
max_replication_slots
:请根据为数据库设置的复制槽数量(每个数据流需要 1 个复制槽)来增加此参数的值。您只能在服务器启动时设置max_replication_slots
。max_wal_senders
:增加此参数的值,使其大于max_replication_slots
参数的值。只有在启动服务器时才能设置max_wal_senders
。
后续步骤
- 详细了解将 PostgreSQL 用作数据源。
- 详细了解如何配置源 PostgreSQL 数据库。