PostgreSQL
Vinza Store PostgreSQL
PostgreSQL
Free Database
postgresqlpostgresdatabasesqlrelationalbackup
Get this app
Free
Available to all users. No license needed.

Manages a PostgreSQL server from the panel: service state, databases, roles, live connections, configuration, and per-database backup and restore. Every privileged operation goes through the root agent. Most SQL runs via dedicated postgresql.* agent handlers that build parameterised statements; the few queries with no handler (SHOW, pg_terminate_backend) run as the postgres superuser through runuser -u postgres -- psql — root dropping down, never sudo escalating up.

Databases can be listed with size and owner, created (optionally with an owner), dropped, and granted to a role; roles can be created with a login password and optional CREATEDB, dropped, and have their password changed. An activity view lists pg_stat_activity with PID, user, database, state and truncated query text, and individual backends can be terminated. A settings view surfaces a small fixed set of pg_settings values (version, max_connections, shared_buffers, data_directory, port, listen_addresses, ssl), and the data directory size is measured with du through the agent.

The config editor reads and writes the real postgresql.conf located via SHOW config_file. A save backs the file up, writes the new content, restarts the cluster, and then verifies liveness with pg_isready rather than trusting the systemctl exit code — on Debian/Ubuntu the postgresql unit is a oneshot wrapper that exits 0 even when the cluster fails to start. If the server does not come back, the backup is restored and the cluster restarted again, so a bad edit cannot leave PostgreSQL down.

Backups use pg_dump -Fc into a compressed custom-format archive (default /var/backups/postgresql), and restore uses pg_restore into a target database that is created if it does not exist, optionally with --clean --if-exists. Both stream through the root shell so the postgres user needs no filesystem permissions on the destination. Newer tabs manage remote access (pg_hba.conf host/hostssl entries with scram-sha-256 only, listen_addresses, a firewall hint for port 5432), allow-listed extensions per database (pg_trgm, uuid-ossp, hstore, citext, unaccent, pgcrypto, postgis, vector, btree_gin, btree_gist, pg_stat_statements), scheduled per-database dumps through the panel's backup scheduler with retention, and slow-query statistics from pg_stat_statements. There is no query terminal, and the plugin links out to phpPgAdmin only if that has been installed separately.

Availability: Free on every plan, including the Free plan.

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
Permissions
databases.manage
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.1.8 — Remote access tab: add/edit/remove pg_hba.conf host/hostssl entries (scram-sha-256 only; checked by PostgreSQL before reload, reverted if rejected), set listen_addresses (verified restart) and see whether the Firewall opens port 5432. Extensions tab: enable/drop allow-listed extensions per database, and install the postgis/pgvector package on request. Scheduled dumps per database through the panel's backup scheduler, with retention, owned by the database's owner. Slow queries tab: top statements by total or mean time from pg_stat_statements, reset, and an explicit enable (preload + restart) action. 1.1.7 — The phpPgAdmin button opens on this server instead of localhost. Security: names shown in the page (from the server, its sites or its users) are passed to buttons safely; a quote in one could run script in the admin's browser. 1.1.6 — phpPgAdmin's PHP extensions are installed for the PHP already in use, and the system `php` is put back if apt moved it. 1.1.5 — phpPgAdmin is served through the shared web-app location snippet instead of a second default nginx server, which removes the "conflicting server name _" warning; existing installs are migrated on update. 1.1.2 — Roles: "Edit role" modal — toggle LOGIN / CREATEDB (SUPERUSER: panel super-admin only, with confirmation; the postgres and pg_* roles are never altered) and grant/revoke database-level privileges per database. 1.1.0 — pg_dump backup + pg_restore restore per database (custom-format archive; the target DB is created if missing on restore). pg_dump/pg_restore run as the postgres superuser via the agent, streamed through the root shell so no extra file permissions are needed. 1.0.1 — Trimmed unimplemented 'query terminal' claim and jsonb/postgis/pgvector tags (no extension manager). 1.0.0 — PostgreSQL multi-version install, role/database management, activity view, config editor with backup + auto-revert.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/postgresql/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "postgresql",
  "version": "1.1.8",
  "download_url": "..."
}