Troubleshooting
The Dashboard Opens But Shows Database Unavailable
Check the connection string first:
DATABASE_URL="postgres://postgres:password@localhost:5432/my_database"
Common causes:
- wrong password;
- wrong database name;
- PostgreSQL is not running;
- wrong host or port;
- Docker container is not reachable from the host app;
- SSL is required by the database provider.
The dashboard blocks interactions while the database is unavailable.
Tables Are Missing
Check the configured schema:
pgDashboard({
schemaName: "public",
});
If your tables are in another schema, set that schema name.
Also confirm the PostgreSQL user has permission to see and select from the relations.
Functions Are Missing
Function execution is opt-in:
pgDashboard({
enableFunctions: true,
});
If it is disabled, the Functions tab stays unavailable.
CRUD Buttons Are Disabled
CRUD is opt-in:
pgDashboard({
enableCrud: true,
});
CRUD can also remain disabled for a relation when:
- the relation is read-only;
- no primary key is available;
- the PostgreSQL user does not have the required permissions.
Express 5 Wildcard Route Errors
Older builds used a wildcard fallback that could fail in Express 5 with path-to-regexp.
Current versions use an Express-compatible fallback that works with Express 4 and 5.
SPA Reloads Return 404
Mount the dashboard router directly:
app.use("/admin/db", pgDashboard({ connectionString }));
The package handles the SPA fallback internally.