--config flag. Without --config, pgconsole starts in demo mode.
- Docker
- npx
- npm
Complete Example
pgconsole.toml
General
| Field | Description | Required |
|---|---|---|
external_url | Public URL of the application. See Configure External Access. | Required for SSO |
license | License key. See Manage License. |
pgconsole.toml
Announcement Banner
Optional banner displayed at the top of the page. The banner cannot be dismissed by users.| Field | Description | Required |
|---|---|---|
text | Banner message text | Yes |
link | URL that makes the banner clickable (opens in new tab) | |
color | Hex color code for the banner background |
pgconsole.toml
Branding
Replace the pgconsole logo with your own. Requires an Enterprise license.| Field | Description | Required |
|---|---|---|
logo | URL to your logo image | Yes |
logo_link | Where the logo links to (absolute path or http(s) URL) |
logo_link is omitted, the logo links to /.
pgconsole.toml
Labels
Labels for tagging connections (e.g. Production, Staging). Referenced by thelabels field in [[connections]]. Repeat for multiple labels.
| Field | Description | Required |
|---|---|---|
id | Unique identifier | Yes |
name | Display name | Yes |
color | Hex color code | Yes |
pgconsole.toml
Connections
Database connections. Repeat for multiple connections.If connecting to a database on your host machine from Docker, use
host.docker.internal instead of localhost.| Field | Description | Required | Default |
|---|---|---|---|
id | Unique identifier | Yes | |
name | Display name | Yes | |
host | PostgreSQL host | Yes | |
port | PostgreSQL port | 5432 | |
database | Database name | Yes | |
username | Database user | Yes | |
password | Database password | ||
ssl_mode | disable, prefer, require, or verify-full | prefer | |
ssl_ca | Path to CA certificate | ||
ssl_cert | Path to client certificate | ||
ssl_key | Path to client private key | ||
labels | Array of label IDs | [] | |
lock_timeout | lock_timeout, e.g. "5s" | System default | |
statement_timeout | statement_timeout, e.g. "30s" | System default | |
lazy | Skip connection test on startup | false |
pgconsole.toml
Authentication
| Field | Description | Required |
|---|---|---|
jwt_secret | Secret key for JWT tokens (min 32 chars) | Yes |
signin_expiry | Session duration (h/d/w) | Yes |
pgconsole.toml
OAuth Providers
OAuth providers are configured as an array of[[auth.providers]] entries. Each entry requires a type field. Repeat for multiple providers.
| Field | Description | Required |
|---|---|---|
type | Provider type: google, keycloak, or okta | Yes |
client_id | OAuth client ID | Yes |
client_secret | OAuth client secret | Yes |
issuer_url | Issuer URL (required for keycloak and okta) |
pgconsole.toml
Users
User entries. Repeat for multiple users. Users with apassword can sign in with basic auth. Users without a password are SSO-only.
| Field | Description | Required |
|---|---|---|
email | User email or identifier | Yes |
password | Login password (omit for SSO-only users) | |
owner | Grants access to subscription management |
pgconsole.toml
Owner Role
Users withowner = true can view subscription status and access upgrade options. See Manage License. If no user has owner = true, the first user entry automatically becomes the owner.
Groups
User groups for organizing users. Repeat for multiple groups.| Field | Description | Required |
|---|---|---|
id | Unique identifier | Yes |
name | Display name | Yes |
members | Array of user emails | Yes |
[[users]] entries.
pgconsole.toml
Access Control (IAM)
Rules for controlling access to connections. See Database Access Control for a full guide on permissions, patterns, and examples.| Field | Description | Required |
|---|---|---|
connection | Connection ID or * for all | Yes |
permissions | Array: read, write, ddl, admin, explain, execute, export, or * for all | Yes |
members | Array: user:<email>, group:<id>, or * for all users | Yes |
pgconsole.toml
Validation
IAM rules are validated when the configuration is loaded:connectionmust be*or reference a valid connection IDpermissionsmust only contain valid values:read,write,ddl,admin,explain,execute,export, or*membersmust use valid formats:user:<email>,group:<id>, or*group:<id>must reference a defined group
AI Providers
Configure providers for the AI Assistant. Repeat for multiple providers.| Field | Description | Required |
|---|---|---|
id | Unique identifier | Yes |
name | Display name (defaults to id) | |
vendor | AI vendor: openai, anthropic, google | Yes |
model | Model identifier | Yes |
api_key | API key for the vendor | Yes |
pgconsole.toml