The CREATE DATABASE
statement creates a new CockroachDB database.
Required privileges
Only members of the admin
role can create new databases. By default, the root
user belongs to the admin
role.
Synopsis
{% include {{ page.version.version }}/sql/diagrams/create_database.html %}
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
> CREATE DATABASE bank;
> SHOW DATABASES;
+---------------+
| database_name |
+---------------+
| bank |
| defaultdb |
| postgres |
| system |
+---------------+
(4 rows)
Create fails (name already in use)
> CREATE DATABASE bank;
pq: database "bank" already exists
> 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.
> SHOW DATABASES;
+---------------+
| database_name |
+---------------+
| bank |
| defaultdb |
| postgres |
| system |
+---------------+
(4 rows)