- Getting Started
- External database for pgAdmin user settings
- Connecting To A Server
- Managing Cluster Objects
- Managing Database Objects
- Creating or Modifying a Table
- Management Basics
- Backup and Restore
- Developer Tools
- pgAdmin Project Contributions
- Release Notes
External database for pgAdmin user settings¶
The user settings used by pgAdmin are stored in a SQLite database. In this database, many settings are stored, such as preferences, user accounts, auto-discovered servers, and many more.
As SQLite is a file-based database and it can be anywhere in the file system, so it is not designed to take care of failures (no HA support). Furthermore, it isn’t designed to handle multiple connections concurrently reading/writing data to it. Example: In environments such as Kubernetes it may be useful to use an alternate backend to avoid using SQLite on non-ephemeral storage and to allow HA of the settings database.
In order to prevent this, pgAdmin now supports storing user settings in an external database using the new ‘CONFIG_DATABASE_URI’ parameter in the config.py file.
Use SQLite Database¶
In order to use SQLite Database, make sure CONFIG_DATABASE_URI parameter is set to an empty string like ‘’. By default it is set to an empty string in the config.py so if you would like to use SQLite database then no need to change anything.
Use External Database¶
In order to use an external database, make sure CONFIG_DATABASE_URI parameter is set like “dialect+driver://username:password@host:port/database”.
Note It is recommended to create the database in advance.
Use PostgreSQL Database¶
Following are the formats to use PostgreSQL as an external database.
Using specific schema (It is recommended to create the schema in advance):
Using default pgpass path for the service account:
Specifying pgpass file path:
postgresql://username@host:port?passfile=<path of the pgpass file>&options=-csearch_path=<schema name>