Introduzione
phpPgAdmin è uno script famosissimo grazie anche al più famoso phpMyAdmin. Come quest'ultimo si possono gestire più database, si può fornire un accesso in multiutenza e soprattutto può essere usato sia in locale che in remoto.
Purtroppo al momento non è disponibile una demo (nemmeno sul sito ufficiale)
Da far notare che il prodotto viene costantemente aggiornato, è disponibile anche in lingua italiana ed è corredato da un ottima guida e un ottimo supporto online. Inoltre ci si può iscrivere al progetto e fornire così il nostro contributo come sviluppatori.
Configurazione dello Script
Uno volta nella pagina del Download si può scegliere tra due versioni diverse da scaricare; è possibile scegliere solamente l'estensione PHP, con il file sia in formato TAR (per Linux) sia in formato ZIP (per Windows).
Una volta scaricato il file più adatto alle nostre esigenze dobbiamo scompattarlo ed andare a modificare il file config.inc.php per poter così settare i parametri del server PostgreSQL ed eventualmente anche quelli relativi all'accesso multiutenza.
Come detto, una volta scompattato il file, bisogna andare a modificare il file CONFIG.INC.PHP. In questo file vanno settati dei parametri che vengono spiegati qui di seguito:
$cfgServers
array; Questo parametro è il più importante perché su questo si basano tutti i comandi per configurare gli accessi. PhpPgAdmin supporta l'amministrazione di server PostgreSQL multipli, e questo comando permette di settari i vari dati per ogni server. Un esempio è la dichiarazione di server differenti, in questa maniera: $cfgServers[1]['host'], $cfgServers[2]['host'] e così via.
$cfgServers[1]['local'] = true;
booleano; Determina se l'host si trova sulla macchina in locale oppure no.
$cfgServers[n]['host'] = 'localhost';
stringa; L'indirizzo o nome dell'host del tuo ennesimo server PostgreSQL. L'impostazione di default è localhost.
$cfgServers[n]['port'] = '';
stringa; La porta di accesso del tuo ennesimo server PostgreSQL. L'impostazione di default è 5432 (lasciare vuoto).
$cfgServers[n]['adv_auth'] = false;
booleano; Specifica se utilizzare l'autenticazione base o avanzata per questo server. Nell'autenticazione BASE ($adv_auth = false) il nome utente e la password sono salvati nel file CONFIG.INC; mentre l'autenticazione AVANZATA ($adv_auth = true) permette il login di utente PostgreSQL attraverso l'autenticazione HTTP.
$cfgServers[n]['user'] = 'root';
$cfgServers[n]['password'] = '';
stringa; Il nome utente e la password che phpPgAdmin usa per connettersi al server PostgreSQL quando viene usata l'autenticazione base. Questi parametri possono essere omessi quando viene usata l'autenticazione avanzata.
$cfgServers[n]['stduser'] = 'root';
$cfgServers[n]['stdpass'] = '';
stringa; Il nome utente e la password usati per verificare i dati quando viene usata l'autenticazione avanzata. L'utente è in grado di connettersi a PostgreSQL e leggere il proprio database. Questi parametri possono essere omessi quando viene usata l'autenticazione base.
$cfgServers[n]['only_db'] = '';
stringa; Se settato, soltanto questo database viene mostrato all'utente.
$cfgProgName = "phpPgAdmin";
stringa; Il nome dell'applicazione.
$cfgVersion = "2.3";
stringa; La versione dell'applicazione.
$cfgDefaultDB = "template1";
stringa; Il database di default usato per connetersi e verificare le tabelle di sistema.
$cfgSuperUser = "postgres";
stringa; Puoi cambiare il superuser se è diverso da "postgres".
$cfgUsePass = false;
booleano; Permette di abilitare (true) o disabilitare (false) l'autenticazione tramite password (adv_auth). Se non sei esperto nella gestione di PostgreSQL lascia questa variabile su "false".
$cfgUseExpire = false;
booleano; Permette di abilitare (true) o disabilitare (false) il campo "valuntil" nella tavola "pg_user" per verificare gli utenti.
$cfgSysTables = false;
booleano; Permette di abilitare (true) o disabilitare (false) la visualizzazione della struttura e dei contenuti delle Tabelle di Sistema.
$cfgUserAdmin = true;
booleano; Permette di abilitare (true) o disabilitare (false) l'interfaccia web per amministrare gli utenti postgres.
$cfgReports = true;
booleano; Permette di abilitare (true) o disabilitare (false) la possibilità di gestire i rapporti.
$cfgUserDatabases = true;
booleano; Permette di abilitare (true) o disabilitare (false) un filtro per i database limitatamente a quelli che l'utente si è creato.
$cfgDebug = false;
booleano; Permette di abilitare (true) o disabilitare (false) la funzione di Debug se si stanno apportando delle modifiche al codice sorgente.
$cfgQuotes = true;
booleano; Permette di abilitare (true) o disabilitare (false) la possibilità di citare tutti i rapporti.
$cfgMaxPages = 9;
intero; Numero massimo di pagine da visualizzare nei link di navigazione.
$cfgServerDefault = 1;
intero; Se hai più di un server configurato puoi settare questo valore sul numero del server al quale decidi di accedere in automatico. Con più server, se settato su 0, ci viene presentata una lista dei server disponibili. Con un solo server il valore OBBLIGATORIO da mettere è uno.
$cfgManualBase = "http://www.postgresql.org/users-lounge/docs/7.0/user";
stringa; L'URL di riferimento per la documentazione relativa a PostgreSQL.
$cfgConfirm = true;
booleano; Visualizza un messaggio di avvertimento quando si stanno per cancellare dei dati.
$cfgPersistentConnections = false;
booleano; Permette di usare una connessione permanente (pg_pconnect) oppure una connessione non permanente (pg_connect).
$cfgCountRecs = true;
booleano; Se hai una tavola con migliaia di record, setta questa variabile su "false".
$cfgDoOrder = false;
booleano; Se vuoi i campi in ordine alfabetico quando inserisci o modifichi.
$cfgBorder = "0";
intero; La grandezza del bordo della tabella.
$cfgThBgcolor = "#D3DCE3";
colore HTML; Il colore Html usato per le intestazioni delle tabelle.
$cfgBgcolorOne = "#CCCCCC";
colore HTML; Il colore Html n. 1 per le righe delle tabelle.
$cfgBgcolorTwo = "#DDDDDD";
colore HTML; Il colore Html n. 2 per le righe delle tabelle.
$cfgMaxRows = 30;
intero; Il numero di righe mostrate quando si visualizzano dei risultati.
$cfgMaxInputsize = "300px";
intero; Grandezza del campo Edit quando viene aggiunto un record alla tabella. Può essere espresso in pixel (px) o da un valore intero.
$cfgOrder = "ASC";
ASC|DESC; Definisce se i campi devono essere visualizzati in ordine ascendente ("ASC") o in ordine discendente ("DESC").
$cfgShowBlob = true;
booleano; Definisce se i campi BLOB vengono visualizzati quando vengono mostrati i contenuti di una tabella.
$cfgShowSQL = true;
booleano; Definisce se una query sql generata da phpPgAdmin deve essere visualizzata.
$cfgMaxText = 255;
intero; Setta il numero massimo di caratteri in ogni campo dato da visualizzare nella modalità "browse" (il valore 0 equivale ad infinito).
$cfgMember = "#CCCCFF";
colore HTML; Il colore Html dell'utente registrato.
$cfgNonMember = "#CCCC99";
colore HTML; Il colore Html dell'utente non registrato.
$cfgMaxTries = 10;
intero; Numero massimo di tentativi.
include("english.inc.php");
Permette di selezionare la lingua da usare all'interno dell'applicazione. Per l'italiano sostituire con "italian.inc.php".
Installazione sul Server
Adesso basta caricare tutti i file sul server ed accedere all'indirizzo http://www.tuosito.it/phpPgAdmin/index.php e iniziare ad usare questo fantastico tool. Alcune note, ricordatevi di proteggere la cartella nella quale installate phpPgAdmin, magari tramite autenticazione HTTP. Inoltre se desiderate usare estensioni diverse da .PHP ricordatevi di consultare la guida.
Giudizio finale
Come il suo omonimo il prodotto è ottimo, forse anche più funzionale e più configurabile. Certo la difficoltà, soprattutto nella fase di configurazione iniziale, è maggiore, ma se consideriamo che alla fine ci troveremo uno script potente e semplice da usare, così che ci sembrerà di usare MySQL invece di PostgreSQL (che è un po' più difficle), ne vale la pena. Inoltre il prodotto conserva la sua traduzione in italiano, la multiutenza, l'ottimo supporto tecnico e tutte le caratteristiche peculiari di phpMyAdmin.