Con il termine
PostgreSQL viene denominato un particolare
ORDBMS, acronimo di
Object-
Relational
Data
Base
Management
System, cioè un software relazionale e ad oggetti per la gestione di basi di dati.
PostgreSQL è
Open Source, quindi il suo codice sorgente è disponibile pubblicamente ed "aperto" ai contributi degli sviluppatori che volontariamente intendono partecipare alla sua implementazione.
In
PostgreSQL, ma il discorso può essere allargato a tutti i gestori di database relazionali, i dati vengono rappresentati attraverso delle tabelle e le tabelle sono gestite utilizzando un linguaggio di alto livello chiamato
SQL, acronimo di
Structured
Query
Language.
Nel caso specifico, l'
ORDBMS avrà il compito di gestire le operazioni di archiviazione e di salvaguardia dell'integrità dei dati allocati.
L'
SQL è quindi un linguaggio a disposizione dell'utente da impiegare per "interfacciarsi" ai gestori di database; esso ha la caratteristica di agire in modo "trasparente", infatti le operazioni svolte a carico dei dati saranno portate avanti senza bisogno che l'utilizzatore sappia in che modo essi vengono trattati.
PostgreSQL basa il suo funzionamento su un processo principale che si chiama
Postmaster, su di esso gravano le incombenze relative al funzionamento del software; una volta avviato esso rimane in "ascolto" e attende le connessioni all'
ORDBMS.
Per ciascuna richiesta di connessione verso il servizio principale viene lanciato un corrispondente processo server.
Postmaster per poter funzionare ha bisogno di un
cluster presente nel
file system, un
cluster è una directory di sistema formattata per accogliere una determinata istanza; all'interno di essa saranno reperibili il
catalogo di sistema, i
template e le basi di dati. Per consentire l'avvio dei processi "figli", il proprietario della directory
dovrà essere lo stesso del
Postmaster.
Un
catalogo di sistema si presenta come un insieme di
tabelle in comune tra i database ospitati nel
cluster, inoltre in esso è presente il
Data Dictionary, un vero è proprio "vocabolario" per il
parsing delle istruzioni scritte in linguaggio
SQL.
Il proprietario delle tabelle relative alle basi di dati nel
cluster sarà l'utente
postgres il quale, nello stesso tempo, sarà il
super user della directory
cluster. Nel corso di questa guida parleremo spesso dell'utente
postgres e ne descriveremo la fondamentale funzione.