---
title: "ALTER DOMAIN"
url: "https://docs.yugabyte.com/stable/api/ysql/the-sql-language/statements/ddl_alter_domain/"
---

# ALTER DOMAIN

Use the ALTER DOMAIN statement to change the definition of a domain.

## Synopsis

Use the `ALTER DOMAIN` statement to change the definition of a domain.

## Syntax

- [![Grammar Icon](/icons/file-lines.svg)Grammar](#grammar-1)
- [![Diagram Icon](/icons/diagram.svg)Diagram](#diagram-1)

```output.ebnf
alter_domain_default ::= ALTER DOMAIN name 
                         { SET DEFAULT expression | DROP DEFAULT }

alter_domain_rename ::= ALTER DOMAIN name RENAME TO name
```

#### alter\_domain\_default

ALTERDOMAIN[name](/stable/api/ysql/syntax_resources/grammar_diagrams#name)SETDEFAULT[expression](/stable/api/ysql/syntax_resources/grammar_diagrams#expression)DROPDEFAULT

#### alter\_domain\_rename

ALTERDOMAIN[name](/stable/api/ysql/syntax_resources/grammar_diagrams#name)RENAMETO[name](/stable/api/ysql/syntax_resources/grammar_diagrams#name)

## Semantics

### SET DEFAULT | DROP DEFAULT

Set or remove the default value for a domain.

### RENAME

Change the name of the domain.

### *name*

Specify the name of the domain. An error is raised if DOMAIN `name` does not exist or DOMAIN `new_name` already exists.

## Examples

```plpgsql
yugabyte=# CREATE DOMAIN idx DEFAULT 5 CHECK (VALUE > 0);
```

```plpgsql
yugabyte=# ALTER DOMAIN idx DROP DEFAULT;
```

```plpgsql
yugabyte=# ALTER DOMAIN idx RENAME TO idx_new;
```

```plpgsql
yugabyte=# DROP DOMAIN idx_new;
```

## See also

- [CREATE DOMAIN](/stable/api/ysql/the-sql-language/statements/ddl_create_domain "CREATE DOMAIN")
- [DROP DOMAIN](/stable/api/ysql/the-sql-language/statements/ddl_drop_domain "DROP DOMAIN")
