The RENAME CONSTRAINT statement changes the name of a constraint on a column.
The RENAME CONSTRAINT statement performs a schema change. For more information about how online schema changes work in CockroachDB, see Online Schema Changes.
It is not possible to rename a constraint for a column referenced by a view. For more details, see View Dependencies.
This command can be combined with other ALTER TABLE commands in a single statement. For a list of commands that can be combined, see ALTER TABLE. For a demonstration, see Add and rename columns atomically.
Synopsis
Required privileges
The user must have the CREATE privilege on the table.
Parameters
| Parameter | Description | 
|---|---|
| IF EXISTS | Rename the constraint only if a constraint of current_nameexists; if one does not exist, do not return an error. | 
| table_name | The name of the table with the constraint you want to rename. | 
| current_name | The current name of the constraint. | 
| name | The new nameyou want to use for the constraint, which must be unique to its table and follow these identifier rules. | 
Viewing schema changes
This schema change statement is registered as a job.  You can view long-running jobs with SHOW JOBS.
Example
Rename a constraint
> CREATE TABLE logon (
    login_id INT PRIMARY KEY,
    customer_id INT NOT NULL,
    sales_id INT,
    UNIQUE (customer_id, sales_id)
  );
> SHOW CONSTRAINTS FROM logon;
  table_name |        constraint_name         | constraint_type |                details                 | validated
+------------+--------------------------------+-----------------+----------------------------------------+-----------+
  logon      | logon_customer_id_sales_id_key | UNIQUE          | UNIQUE (customer_id ASC, sales_id ASC) |   true
  logon      | logon_pkey                     | PRIMARY KEY     | PRIMARY KEY (login_id ASC)             |   true
(2 rows)
> ALTER TABLE logon RENAME CONSTRAINT logon_customer_id_sales_id_key TO unique_customer_id_sales_id;
> SHOW CONSTRAINTS FROM logon;
  table_name |       constraint_name       | constraint_type |                details                 | validated
+------------+-----------------------------+-----------------+----------------------------------------+-----------+
  logon      | logon_pkey                  | PRIMARY KEY     | PRIMARY KEY (login_id ASC)             |   true
  logon      | unique_customer_id_sales_id | UNIQUE          | UNIQUE (customer_id ASC, sales_id ASC) |   true
(2 rows)