Database Preparation
Purpose
Prepare PostgreSQL for the Manager. The Manager does not use SQLite as its production database.
Configuration keys (example)
From configs/manager.example.yml / Community example:
Scroll sideways to see the full table. Use the arrow keys when focused.
| Key | Example | Notes |
|---|---|---|
database.host | localhost | Enterprise installer requires a literal |
database.port | 5432 | literal |
database.name | zwall_centralized_security | literal |
database.user | zwall_user | literal |
database.password | empty in Enterprise example | systemd database_password / installer DB_PASSWORD |
database.ssl_mode | require | disable, require, verify-ca, verify-full |
database.max_connections | 25 | |
database.max_idle_connections | 5 |
Community example allows password: "${DB_PASSWORD:-}" in YAML. Enterprise production example keeps YAML empty and rejects literal JWT/database/admin password authority in YAML.
Community
Create the role and database yourself, then run:
./bin/manager -config /etc/zcs/manager.yml -migrate-preflight-migrate and -check-schema exist for validation without apply (-check-schema) or without apply of pending plan (-preflight-migrate).
Enterprise
On Enterprise, schema admission is part of verified-release database install (provided separately to Enterprise customers). Optional --bootstrap-database creates a login role with SCRAM, without superuser/createdb/createrole/replication/bypassrls, and a UTF-8 database owned by that role.
Existing roles must already match that policy or admission fails.
Backup before migrate
Back up an existing Manager database before upgrade migrations. See Backup.