PostgreSQL
Accanto a MySQL/MariaDB il pannello gestisce anche PostgreSQL, per le applicazioni che lo richiedono (molte applicazioni Python e Node.js, Odoo, Mastodon, strumenti di analisi). Si trova nella pagina Database, riquadro PostgreSQL.
Installarlo
PostgreSQL non viene installato con il pannello: la prima volta un amministratore preme Installa PostgreSQL (un minuto circa). Il pannello installa il pacchetto di Ubuntu, lo configura per accettare collegamenti solo dal server stesso (localhost, porta 5432, password cifrate con scram-sha-256) e installa Adminer per gestire i dati dal browser. Da quel momento anche gli account creano i propri database.
Se importi un backup di cPanel che contiene database PostgreSQL, il pannello lo installa da solo durante l'importazione.
Database e utenti
- Ogni database ha un utente proprietario con lo stesso nome (o quello che scegli) e una password generata, mostrata una sola volta insieme alla stringa di connessione
postgresql://utente:password@localhost:5432/database. - Un database appartiene a un sito, quindi al suo account: gli account vedono e gestiscono solo i propri. Nessun altro utente può collegarsi a un database che non è suo.
- Nuova password genera una password nuova per il proprietario: aggiorna poi la configurazione dell'applicazione.
- Eliminando un sito si eliminano anche i suoi database PostgreSQL.
Adminer
Apri Adminer apre Adminer in una nuova scheda, già dentro il database, senza chiedere password: il pannello crea un utente temporaneo (vale un'ora, con i permessi del proprietario del database) e un collegamento che si usa una sola volta entro 60 secondi, come per phpMyAdmin. Uscendo da Adminer l'utente temporaneo viene eliminato. Adminer è sulla porta 8446 del pannello e raggiunge solo il PostgreSQL di questo server.
Importare un database
Importa accetta un file .sql, .sql.gz o un archivio di pg_dump (formato custom -Fc o tar -Ft), fino a 4 GB. Il contenuto viene caricato con i permessi del proprietario del database: un file non può fare nulla che il proprietario non possa fare, e i comandi di psql che eseguono programmi o leggono file del server sono disattivati. Le tabelle che il file ricrea vengono sostituite.
Backup e migrazioni
- I backup del sito includono i suoi database PostgreSQL (
pg_dump, formato custom) accanto a quelli MySQL; il ripristino dei database li reimporta. - La migrazione da un backup completo di cPanel importa anche i database PostgreSQL (cartella
psql/), con un nuovo utente e una nuova password indicati nel riepilogo. Aggiorna la configurazione dell'applicazione con i nuovi dati: il pannello riscrive in automatico solo le configurazioni MySQL di WordPress, Joomla e Laravel.
Da sapere
- PostgreSQL usa poca memoria quando è fermo (circa 45 MB misurati su Ubuntu 24.04, PostgreSQL 16), di più con molti collegamenti: le applicazioni dovrebbero usare un pool di connessioni.
- I database accettano collegamenti solo da
localhost: per lavorarci dal tuo computer usa Adminer o un tunnel SSH.