Database settings
The application uses SQLite database by default, with a possibility to change it to your own PostgreSQL database.

The database in use is chosen with the SQLite / PostgreSQL toggle and stored with Save.
Reset database - format local database
Create backup - create a backup of the current state of the local database
Export database - download selected database file
Import database - upload database file to list
Restore database - restore database from selected backup
Delete backup - delete selected backup
Existing backups are listed below the buttons in a table of Name and Date, both sortable, with the radio button on a row choosing the backup that Export database, Restore database and Delete backup act on. Backup names end in _auto or _manual depending on whether the application or a user created them. With no backups the list reads No backups yet.
Restoring and deleting each ask for confirmation first.

JDBC URL - full JDBC url for postgres database (You can specify schema by adding currentSchema to url)
db.selectzero.com:5432/postgres?currentSchema=my_schemaSSL Mode - encryption for the database connection: None, SSL (encrypted, no certificate validation) or SSL (Verify CA) with a CA Cert upload
Username - postgres database user
Password - postgres database password
Applying the change uses the Save and restart button - the application restarts and all users are logged out. When the database is configured through external environment variables, the form is read-only.
PostgreSQL user DB requirements
We recommend creating a new separate database for SelectZero alongside with separate user and schema. The user must have all rights in selected schema
Sample creation scripts:
Migrating SQLite to PostgreSQL
It is possible to migrate existing SQLite database to a PostgreSQL database using pgloader (installing pgloader). Before migration, make sure you have created the needed DB user following instructions
Create backup of SQLite database and download the database file
Set up Postgres connection in Database selector
Restart the application (the application will be deployed on empty schema, creating necessary tables automatically. This means the database will initially be empty)
Create file selectzero.load with content:
LOAD DATABASE FROM sqlite:///path_to_your_backup/backup_file_name.db INTO postgres://username:password@postgres_url:5432/postgres WITH truncate, data only INCLUDING ONLY TABLE NAMES LIKE 'tt_%';Use pgloader to export data from SQLite to PostgreSQL using command and script:
pgloader selectzero.loadAs license validation will fail, you can manually restart platform once after data is loaded (or insert license manually again)