Database Configuration
- Cockroach
- Postgres
Cockroach
The default database of ZITADEL is CockroachDB. The SQL database provides a bunch of features like horizontal scalability, data regionality and many more.
The default configuration of the database looks like this:
Database:
cockroach:
Host: localhost
Port: 26257
Database: zitadel
MaxOpenConns: 20
MaxConnLifetime: 30m
MaxConnIdleTime: 30m
Options: ""
User:
Username: zitadel
Password: ""
SSL:
Mode: disable
RootCert: ""
Cert: ""
Key: ""
Admin:
Username: root
Password: ""
SSL:
Mode: disable
RootCert: ""
Cert: ""
Key: ""
Postgres
Postgres extension is currently in beta.
If you want to use a PostgreSQL database instead of CockroachDB you can overwrite the default configuration.
Currently versions >= 14 are supported.
Postgres can be configured as follows:
Database:
postgres:
Host: localhost
Port: 5432
Database: zitadel
MaxOpenConns: 25
MaxConnLifetime: 1h
MaxConnIdleTime: 5m
Options:
User:
Username: zitadel
Password: zitadel
SSL:
Mode: disable
RootCert:
Cert:
Key:
Admin:
Username: postgres
Password: postgres
SSL:
Mode: disable
RootCert:
Cert:
Key:
The admin user is only needed for the installation step but can also be avoided by preparing the necessary requirements:
- the zitadel user
- the zitadel database
- granting required permissions to the zitadel user
CREATE ROLE zitadel LOGIN;
CREATE DATABASE zitadel;
GRANT CONNECT, CREATE ON DATABASE zitadel TO zitadel;
Don't forget to adjust pg_hba.conf and set a password for the zitadel user.
With the setup done, follow the phases guide to run the init and then setup phase to get all necessary tables and data set up.