CREATE PLACEMENT POLICY

CREATE PLACEMENT POLICY 用于创建命名的放置策略,随后可以将该策略分配给表、分区或数据库。

语法图

CreatePolicyStmt

CREATE PLACEMENT POLICY - 图1

PolicyName

CREATE PLACEMENT POLICY - 图2

PlacementOptionList

CREATE PLACEMENT POLICY - 图3

PlacementOption

CREATE PLACEMENT POLICY - 图4

CommonPlacementOption

CREATE PLACEMENT POLICY - 图5

SugarPlacementOption

CREATE PLACEMENT POLICY - 图6

AdvancedPlacementOption

CREATE PLACEMENT POLICY - 图7

1. CreatePolicyStmt ::=
2. "CREATE" "PLACEMENT" "POLICY" IfNotExists PolicyName PlacementOptionList

4. PolicyName ::=
5. Identifier

7. PlacementOptionList ::=
8. PlacementOption
9. |   PlacementOptionList PlacementOption
10. |   PlacementOptionList ',' PlacementOption

12. PlacementOption ::=
13. CommonPlacementOption
14. |   SugarPlacementOption
15. |   AdvancedPlacementOption

17. CommonPlacementOption ::=
18. "FOLLOWERS" EqOpt LengthNum

20. SugarPlacementOption ::=
21. "PRIMARY_REGION" EqOpt stringLit
22. |   "REGIONS" EqOpt stringLit
23. |   "SCHEDULE" EqOpt stringLit

25. AdvancedPlacementOption ::=
26. "LEARNERS" EqOpt LengthNum
27. |   "CONSTRAINTS" EqOpt stringLit
28. |   "LEADER_CONSTRAINTS" EqOpt stringLit
29. |   "FOLLOWER_CONSTRAINTS" EqOpt stringLit
30. |   "LEARNER_CONSTRAINTS" EqOpt stringLit

示例

CREATE PLACEMENT POLICY - 图8注意

如要查看所在集群中可用的区域,见 SHOW PLACEMENT LABELS。如果未看到任何可用的区域,此 TiKV 集群在部署时可能未正确设置标签 (label)。

1. CREATE PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4;
2. CREATE TABLE t1 (a INT) PLACEMENT POLICY=p1;
3. SHOW CREATE PLACEMENT POLICY p1;
1. Query OK, 0 rows affected (0.08 sec)

3. Query OK, 0 rows affected (0.10 sec)

5. +--------+---------------------------------------------------------------------------------------------------+
6. | Policy | Create Policy                                                                                     |
7. +--------+---------------------------------------------------------------------------------------------------+
8. | p1     | CREATE PLACEMENT POLICY `p1` PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4 |
9. +--------+---------------------------------------------------------------------------------------------------+
10. 1 row in set (0.00 sec)

MySQL 兼容性

该语句是 TiDB 对 MySQL 语法的扩展。

另请参阅