Installare e utilizzare postgresql il DB open source pił avanzato oggi esistente (Parte I)
Pagina 1 di 3
Premessa
PostgreSQL (pronuncia "postgres-chiu-ell" o"postgre-sequel") è un ottimo"Database" (anche se il termine piùappropriato è "Data Base Management System", o DBMS), rilasciato con licenza BSD (BerkeleySoftware Distribution license).
Questa breve introduzione riguarderà installazione,configurazione ed utilizzo di PostgreSQL in ambiente LinuxDebian o ambiente Linux Ubuntu, pertanto alcuneinformazioni saranno dedicate a tali ambienti e nontrasferibili in altri. PostgreSQL è spesso associatoad ambienti Unix-like e Linux, pertanto ritengonecessario sottolineare le caratteristiche della licenza BSDrispetto alla più conosciuta GNU GPL.
Un software rilasciato sotto licenza BSD permettel'utilizzo commerciale, e permette che il software vengaincorporato in prodotti commerciali. Il lavoro basato sulmateriale licenziato con BSD può anche essererilasciato all'interno di una licenza proprietaria,l'importante è che sia sempre presente edesplicita la licenza BSD riferita a tale software. Alcuniesempi significativi sono il codice riguardante ilnetworking, presente in prodotti Microsoft, o l'uso dinumerosi componenti FreeBSD nel sistema operativo Mac OS X.
Non è certamente questo l'ambito in cui affrontareuna discussione approfondita al riguardo; per l'utenteè sufficiente sapere che è possibile utilizzarePostgreSQL senza pagare licenze e senza obblighi disorta riguardo al codice delle proprie applicazioni.
Il più noto "rivale" di PostgreSQL in ambitoLinux è senza dubbio MySQL, che tuttaviaè rilasciato sotto una licenza sostanzialmentediversa: rimane gratuito soltanto se le applicazioni cheutilizzano MySQL vengono rilasciate sotto licenza GPL, ovveroa codice sorgente aperto e senza costi. Questa"limitazione" non è certo da poco, epurtroppo molte aziende, a causa di una certa confusionesulle licenze, adottano MySQL senza pensare a questoproblema. Dal punto di vista tecnico, come accennato,PostgreSQL è molto più avanzato e stabile diMySQL, e spesso viene posto in diretta concorrenza con rivalicome Oracle o DB2 di IBM. Vedi:
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems.
Caratteristiche di PostgreSQL
PostgreSQL è totalmente compatibile con lostandard ANSI-SQL-92, ed implementa la maggior partedei costrutti SQL. Alcune tra le caratteristiche che supportasono: transazioni, sub-query, trigger, viste, foreign-key(integrità referenziale), locking, tipi di datidefiniti dall'utente, ereditarietà, valori nonatomici (array), LOB (Large OBjects), ottimizzatoredell'esecuzione delle query, e molte altre.
PostgreSQL può lavorare in due modalità:fsync e no-fsync. Nel primo caso ognitransazione viene salvata su disco, garantendo ogni dato daeventuali crash di sistema, rinunciando però aqualcosa in termini di performance in fase di accesso aidati. Nel secondo caso invece le performance sono piùelevate, ma le transazioni vengono salvate soloperiodicamente, non garantendo la salvaguardia degli ultimidati immessi.
PostgreSQL ha un proprio linguaggio di programmazione,chiamato PL/pgSQL, sulla falsariga del più notoPL/SQL di Oracle. I programmi creati con PL/pgSQL sono detti"funzioni" , e possono essere invocati comeparte di un comando SQL, o come una azione attivata da un"trigger" (grilletto).
Come alternativa, è possibile utilizzare linguaggi discripting "adattati" come procedurali, comeplPHP o PL/Python(http://www.postgresql.org/docs/current/interactive/plpython.html).
In ambiente Linux Debian "stable" (nellospecifico: Debian Sarge 3.1, rilasciata il 6 giugno2006), nel momento in cui scrivo, la versione di PostgreSQLè la 7.4.7-6sarge2. In ambiente Linux Ubuntu6.06, invece, la versione è 8.0.7, ma sipuò scegliere la 7.5.16.1. D'ora in avantici riferiremo a "debian stable"semplicemente come "Debian" , e a"ubuntu 6.06" semplicemente come"Ubuntu".
PostgreSQL può essere "acceduto" (o"accesso" , se preferite, anche se suona davveromale) sia in modalità testuale con il comandopsql, sia in modalità grafica conpgaccess, giunto oggi alla versione1:0.98.8.20030520-1 sia in Debian che in Ubuntu.
E' fortemente consigliato prendere dimestichezza conl'interfaccia a linea di comando, soprattutto in fase diapprendimento. Successivamente, con cognizione di causa,risulterà molto facile e produttivo utilizzarepgaccess, se lo si desidera. Una alternativa apgaccess è costituita da phppgadmin, giuntoalla versione 3.5.2-5, disponibile come interfacciaweb. Quest'ultima soluzione, tuttavia, èpiù "delicata" in termini di sicurezza, e neconsiglio l'utilizzo solo dopo un attento esame dellaconfigurazione di accesso.
- Articolo precedente Usare database Propel con PHP5 (Parte VII)
- Articolo successivo Installare postgresql (Parte II)