The CREATE DATABASE statement creates a new CockroachDB database.

Required privileges

Only members of the admin role can configure replication zones. By default, the root user belongs to the admin role.

Synopsis

CREATE DATABASE IF NOT EXISTS name WITH ENCODING = encoding

Parameters

Parameter Description
IF NOT EXISTS Create a new database only if a database of the same name does not already exist; if one does exist, do not return an error.
name The name of the database to create, which must be unique and follow these identifier rules.
encoding The CREATE DATABASE statement accepts an optional ENCODING clause for compatibility with PostgreSQL, but UTF-8 is the only supported encoding. The aliases UTF8 and UNICODE are also accepted. Values should be enclosed in single quotes and are case-insensitive.

Example: CREATE DATABASE bank ENCODING = 'UTF-8'.

Example

Create a database

copy
icon/buttons/copy
> CREATE DATABASE bank;
copy
icon/buttons/copy
> SHOW DATABASES;
+---------------+
| database_name |
+---------------+
| bank          |
| defaultdb     |
| postgres      |
| system        |
+---------------+
(4 rows)

Create fails (name already in use)

copy
icon/buttons/copy
> CREATE DATABASE bank;
pq: database "bank" already exists
copy
icon/buttons/copy
> CREATE DATABASE IF NOT EXISTS bank;

SQL does not generate an error, but instead responds CREATE DATABASE even though a new database wasn't created.

copy
icon/buttons/copy
> SHOW DATABASES;
+---------------+
| database_name |
+---------------+
| bank          |
| defaultdb     |
| postgres      |
| system        |
+---------------+
(4 rows)

See also



Yes No