警告
TimescaleDB v2.13 是包含 PostgreSQL 13、14 和 15 版本多节点支持的最后一个发行版。
从单个超表或所有超表中分离数据节点。
分离数据节点的原因包括:
- 数据节点不应再被超表使用,并且需要从所有使用它的超表中移除。
- 您希望分布式超表用于分区的可用数据节点数量减少。
名称 | 类型 | 描述 |
---|---|---|
node_name | TEXT | 要从分布式超表中分离的数据节点名称 |
名称 | 类型 | 描述 |
---|---|---|
hypertable | REGCLASS | 应分离数据节点的分布式超表名称。如果为 NULL,则数据节点将从所有超表中分离。 |
if_attached | BOOLEAN | 如果数据节点未附加,则防止报错。默认为 false。 |
force | BOOLEAN | 强制分离数据节点,即使这意味着复制因子会降低到设定值以下。请注意,复制因子绝不允许降低到 1 以下,因为那会导致数据丢失。 |
repartition | BOOLEAN | 使哈希分区数量等于新的数据节点数量(如果存在此类分区)。这确保了剩余数据节点被均匀使用。默认为 true。 |
数据节点从中分离的超表数量。
不允许分离节点
- 如果由于数据节点包含未在其他数据节点上复制的数据块而导致超表数据丢失
- 如果导致分布式超表的数据块复制不足(没有
force
参数)
提示
复制功能目前处于实验阶段,并非受支持的功能
如果分离数据节点意味着超表数据丢失,则在任何情况下都不允许进行分离。此外,除非强制执行,否则不允许分离数据节点,如果这意味着分布式超表最终会出现复制不足的数据块。
分离数据节点的唯一安全方法是首先安全地删除其上的任何数据,或将其复制到另一个数据节点。
从 conditions
中分离数据节点 dn3
SELECT detach_data_node('dn3', 'conditions');
关键词