ALTER PLACEMENT POLICY
ALTER PLACEMENT POLICY 用于修改之前已创建的现有放置策略。所有使用该放置策略的表和分区会自动更新。
Note
该功能在 平凯数据库云服务 Starter 和 平凯数据库云服务 Essential 实例中不可用。
ALTER PLACEMENT POLICY 会用新的定义 替换 之前的策略,而不是将旧策略与新策略 合并。在以下示例中,执行 ALTER PLACEMENT POLICY 后,FOLLOWERS=4 会丢失:
CREATE PLACEMENT POLICY p1 FOLLOWERS=4;
ALTER PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1";语法
- AlterPolicyStmt
- PolicyName
- PlacementOptionList
- PlacementOption
- CommonPlacementOption
- SugarPlacementOption
- AdvancedPlacementOption
示例
Note
要了解你的集群中有哪些可用的 region,请参见
SHOW PLACEMENT LABELS。如果你没有看到任何可用的 region,可能是你的 TiKV 安装没有正确设置 label。
CREATE PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1";
CREATE TABLE t1 (i INT) PLACEMENT POLICY=p1; -- 将策略 p1 分配给表 t1
ALTER PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1,us-west-2" FOLLOWERS=4; -- t1 的规则会自动更新。
SHOW CREATE PLACEMENT POLICY p1\GQuery OK, 0 rows affected (0.08 sec)
Query OK, 0 rows affected (0.10 sec)
***************************[ 1. row ]***************************
Policy | p1
Create Policy | CREATE PLACEMENT POLICY `p1` PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1,us-west-2" FOLLOWERS=4
1 row in set (0.00 sec)MySQL 兼容性
该语句是 TiDB 对 MySQL 语法的扩展。