重要

古いバージョンの TiDB データベース (TiDB {{ curdocVersion }}) のドキュメントを表示しています。

TiDBデータベースの最新の安定バージョンを使用することをお勧めします。
重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

プレースメントポリシーを作成する

警告

SQLの配置ルールは実験的機能です。 GAの前に構文が変更される可能性があり、バグもある可能性があります。

リスクを理解している場合は、 SET GLOBAL tidb_enable_alter_placement = 1;を実行することでこの実験機能を有効にできます。

CREATE PLACEMENT POLICYは、後でテーブル、パーティション、またはデータベーススキーマに割り当てることができる名前付き配置ポリシーを作成するために使用されます。

あらすじ

CreatePolicyStmt
CREATEPLACEMENTPOLICYIfNotExistsPolicyNamePlacementOptionList
PolicyName
Identifier
PlacementOptionList
DirectPlacementOptionPlacementOptionListDirectPlacementOptionPlacementOptionList,DirectPlacementOption
DirectPlacementOption
PRIMARY_REGIONEqOptstringLitREGIONSEqOptstringLitFOLLOWERSEqOptLengthNumVOTERSEqOptLengthNumLEARNERSEqOptLengthNumSCHEDULEEqOptstringLitCONSTRAINTSEqOptstringLitLEADER_CONSTRAINTSEqOptstringLitFOLLOWER_CONSTRAINTSEqOptstringLitVOTER_CONSTRAINTSEqOptstringLitLEARNER_CONSTRAINTSEqOptstringLit

ノート:

クラスタで使用可能なリージョンを確認するには、 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拡張です。

も参照してください