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.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/postgresql/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "postgresql",
"version": "1.1.8",
"download_url": "..."
}