警告
TimescaleDB v2.13 是最后一个包含对 PostgreSQL 13、14 和 15 版本多节点支持的版本。
此函数在访问节点上执行,用于从本地数据库中移除数据节点。作为删除操作的一部分,如果满足权限和数据完整性要求,数据节点将从所有使用它的超表中分离。有关更多信息,请参阅 detach_data_node
。
删除数据节点严格来说是一个本地操作;数据节点本身不受影响,数据节点上相应的远程数据库保持不变,包括其所有数据。该操作是本地的,以确保即使远程数据节点无响应也能完成,并避免数据节点上发生意外数据丢失。
注意
除非首先删除数据节点上的数据库或使用另一个数据库,否则无法使用 add_data_node
再次添加相同的数据节点。这是为了防止添加先前属于相同或另一个分布式数据库但不再同步的数据节点。
如果无法将数据节点从所有已附加的超表中分离,则会生成错误。
名称 | 类型 | 描述 |
---|---|---|
node_name | TEXT | 数据节点的名称。 |
名称 | 类型 | 描述 |
---|---|---|
if_exists | BOOLEAN | 如果数据节点不存在,则防止报错。默认为 false。 |
force | BOOLEAN | 强制从超表中移除数据节点,除非这会导致数据丢失。默认为 false。 |
repartition | BOOLEAN | 使哈希分区数量等于新的数据节点数量(如果存在此类分区)。这可确保剩余的数据节点均匀使用。默认为 true。 |
一个布尔值,指示操作是否成功。
删除名为 dn1
的数据节点
SELECT delete_data_node('dn1');
关键词