Wharfbase
PostgreSQL
PostgreSQL databases are found in containers by their image, and on the host by their process and config files (host scan).
| Plan | Community (every plan) |
| Default ports | 5432 |
| Also recognized | TimescaleDB, PostGIS, pgvector, Supabase Postgres, ParadeDB, Bitnami PostgreSQL |
| Credential hints from | POSTGRES_USER, POSTGRESQL_USERNAME, PGUSER, POSTGRES_PASSWORD, POSTGRESQL_PASSWORD, POSTGRESQL_POSTGRES_PASSWORD, POSTGRES_PASSWORD_FILE, POSTGRESQL_PASSWORD_FILE, POSTGRES_DB, POSTGRESQL_DATABASE, PGDATABASE |
| Data in the container | /var/lib/postgresql/data, /var/lib/postgresql, /bitnami/postgresql, /home/postgres/pgdata |
| On the host (host scan) | postgres, postmaster |
What you can do
Section titled “What you can do”Browse and edit tables, views and materialized views; the SQL editor with Explain (and Explain Analyze inside a rolled-back transaction); exports, CSV import, ER diagrams. Read-only connections run scripts in a READ ONLY transaction.
A least-privilege user
Section titled “A least-privilege user”Wharfbase works with any user; give it only what you want it to do.
Read only
Section titled “Read only”PostgreSQL 14 and later have predefined roles for this:
CREATE ROLE wharfbase_ro LOGIN PASSWORD '…';GRANT CONNECT ON DATABASE app TO wharfbase_ro;GRANT pg_read_all_data TO wharfbase_ro;Before 14, grant per schema:
GRANT USAGE ON SCHEMA public TO wharfbase_ro;GRANT SELECT ON ALL TABLES IN SCHEMA public TO wharfbase_ro;ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO wharfbase_ro;Read and write
Section titled “Read and write”CREATE ROLE wharfbase_rw LOGIN PASSWORD '…';GRANT CONNECT ON DATABASE app TO wharfbase_rw;GRANT pg_read_all_data, pg_write_all_data TO wharfbase_rw;For other features
Section titled “For other features”- Live consumers (who is connected):
GRANT pg_read_all_stats TO wharfbase_ro;, or Wharfbase only sees its own sessions. - Backups (
pg_dump -Fc): the read-only user above is enough.
Checked against PostgreSQL 17: the read-only role reads, its writes are refused, and pg_dump works.