プレースメントポリシーを作成する
CREATE PLACEMENT POLICY
は、後でテーブル、パーティション、またはデータベーススキーマに割り当てることができる名前付き配置ポリシーを作成するために使用されます。
あらすじ
- CreatePolicyStmt
- PolicyName
- PlacementOptionList
- DirectPlacementOption
CreatePolicyStmt ::=
"CREATE" "PLACEMENT" "POLICY" IfNotExists PolicyName PlacementOptionList
PolicyName ::=
Identifier
PlacementOptionList ::=
DirectPlacementOption
| PlacementOptionList DirectPlacementOption
| PlacementOptionList ',' DirectPlacementOption
DirectPlacementOption ::=
"PRIMARY_REGION" EqOpt stringLit
| "REGIONS" EqOpt stringLit
| "FOLLOWERS" EqOpt LengthNum
| "VOTERS" EqOpt LengthNum
| "LEARNERS" EqOpt LengthNum
| "SCHEDULE" EqOpt stringLit
| "CONSTRAINTS" EqOpt stringLit
| "LEADER_CONSTRAINTS" EqOpt stringLit
| "FOLLOWER_CONSTRAINTS" EqOpt stringLit
| "VOTER_CONSTRAINTS" EqOpt stringLit
| "LEARNER_CONSTRAINTS" EqOpt stringLit
例
ノート:
クラスタで使用可能なリージョンを確認するには、
SHOW PLACEMENT LABELS
を参照してください。使用可能なリージョンが表示されない場合は、TiKVインストールでラベルが正しく設定されていない可能性があります。
CREATE PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4;
CREATE TABLE t1 (a INT) PLACEMENT POLICY=p1;
SHOW CREATE PLACEMENT POLICY p1;
Query OK, 0 rows affected (0.08 sec)
Query OK, 0 rows affected (0.10 sec)
+--------+---------------------------------------------------------------------------------------------------+
| Policy | Create Policy |
+--------+---------------------------------------------------------------------------------------------------+
| p1 | CREATE PLACEMENT POLICY `p1` PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4 |
+--------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MySQLの互換性
このステートメントは、MySQL構文のTiDB拡張です。