title | summary |
---|---|
SHOW PLACEMENT FOR |
The usage of SHOW PLACEMENT FOR in TiDB. |
SHOW PLACEMENT FOR
summarizes all placement options, and presents them in the canonical form for a specific table, database schema, or partition.
The statement returns a result set in which the Scheduling_State
field indicates the current progress that the Placement Driver (PD) has made in scheduling the placement:
PENDING
: The PD has not yet started scheduling the placement. This might indicate that that the placement rules are semantically correct, but cannot currently be satisfied by the cluster. For example, ifFOLLOWERS=4
but there are only 3 TiKV stores that are candidates for followers.INPROGRESS
: The PD is currently scheduling the placement.SCHEDULED
: The PD has successfully scheduled the placement.
ShowStmt ::=
"PLACEMENT" "FOR" ShowPlacementTarget
ShowPlacementTarget ::=
DatabaseSym DBName
| "TABLE" TableName
| "TABLE" TableName "PARTITION" Identifier
{{< copyable "sql" >}}
CREATE PLACEMENT POLICY p1 PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4;
ALTER DATABASE test PLACEMENT POLICY=p1;
CREATE TABLE t1 (a INT);
SHOW PLACEMENT FOR DATABASE test;
SHOW PLACEMENT FOR TABLE t1;
SHOW CREATE TABLE t1\G;
CREATE TABLE t3 (a INT) PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (10), PARTITION p2 VALUES LESS THAN (20));
SHOW PLACEMENT FOR TABLE t3 PARTITION p1\G;
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
+---------------+----------------------------------------------------------------------+------------------+
| Target | Placement | Scheduling_State |
+---------------+----------------------------------------------------------------------+------------------+
| DATABASE test | PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4 | INPROGRESS |
+---------------+----------------------------------------------------------------------+------------------+
1 row in set (0.00 sec)
+---------------+-------------+------------------+
| Target | Placement | Scheduling_State |
+---------------+-------------+------------------+
| TABLE test.t1 | FOLLOWERS=4 | INPROGRESS |
+---------------+-------------+------------------+
1 row in set (0.00 sec)
***************************[ 1. row ]***************************
Table | t1
Create Table | CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![placement] PLACEMENT POLICY=`p1` */
1 row in set (0.00 sec)
***************************[ 1. row ]***************************
Target | TABLE test.t3 PARTITION p1
Placement | PRIMARY_REGION="us-east-1" REGIONS="us-east-1,us-west-1" FOLLOWERS=4
Scheduling_State | PENDING
1 row in set (0.00 sec)
This statement is a TiDB extension to MySQL syntax.