• Non ci sono risultati.

Database Server PostgreSQL

Nel documento MANUALE OPERATIVO OPENOFFICE DATA BASE (pagine 52-55)

MANUALE OPERATIVO OPENOFFICE DATA BASE CAPITOLO 4

6.6. Database Server PostgreSQL

PostgreSQL è l'alternativa a MySql per quanto riguarda i Server Open Source. A differenza di MySql, Postgres segue una politica di Licensing molto più canonica, e perfettamente aderente alle regole GNU. Inoltre per certi versi può essere considerato più “professionale” perché implementa caratteristiche (come le viste e le stored procedure) comuni a molti server di Db commerciali, ma assenti in MySql (fino alla versione 5). Ovviamente questo appesantisce un po' il codice, quindi viene da alcuni considerato meno performante del “collega”. D'altro canto la maggiore aderenza agli standard SQL e l'intrinseca “robustezza” lo fa preferire in molte applicazioni “mission critical” dove l'integrità dei dati è più importante delle pure prestazioni. Fino a poco tempo fa Postgres non poteva considerarsi realmente multi piattaforma, perché la versione Windows utilizzava uno strato di “emulazione” che ne penalizzava molto le

performance. Dalla versione 8.0 è invece disponibile un eseguibile “nativo” per il Sistema Operativo di Zio Bill, quindi anche questa difficoltà sembra superata.

6.1 Installazione Windows 6.1.1 Il Server

Dalla versione 8.0 è disponibile un comodo installer che rende estremamente semplice avere un Server Postgres attivo è funzionante in pochi minuti. Per i nostri scopi useremo la nuova versione 8.1. Basta scaricare da http://www.postgresql.org/ il file Zip in formato Win32, nel nostro caso postgresql-8.1.0.zip, decomprimere e lanciare il file in formato .msi.

Figura 6.1.1: Scelta dei componenti per l'installazione

La procedura permette di scegliere quali componenti installare tra: Database Server (con relative estensioni), User Interfaces (psql, a linea di comando e pgAdmin III con interfaccia grafica), Database driver (ODBC, JDBC, .NET e OLEDB). Se si desidera solo accedere ad un server Postgres su un'altra macchina, possono essere sufficienti i Database driver e magari le User Interfaces. In caso contrario sarà utile lasciare le impostazioni consigliate, a meno di esigenze particolari.

Se è nostra intenzione installare un Server, nella fase successiva dovremo decidere se definire Postgres come Servizio (scelta consigliata), magari eseguito automaticamente all'avvio. In questo caso è necessario creare un utente, sulla macchina Windows che esegue il Server, che abbia i diritti di avviare il servizio stesso. Il passaggio può essere eseguito automaticamente dall'installer.

Figura 6.1.2: Avvio del Server come servizio TIP

Se nel PC è stata installata in precedenza una versione di PostgreSQL, probabilmente l'utente postgres è già esistente. In questo caso per completare in modo corretto questo passaggio è necessario preventivamente cancellare il vecchio utente postgres per permettere la creazione del nuovo.

Poi è necessario selezionare il linguaggio ed il sistema di encoding per la memorizzazione delle stringhe. Il programma di installazione propone SQL_ASCII, ma è opportuno consultare la documentazione per capire se possono esserci problemi. In ogni caso, questa scelta può essere modificata alla creazione di un nuovo Db. Inoltre è bene assegnare una password

all'amministratore del Server di Db (superuser), il cui nome viene proposto come postgres (sappiamo bene che la fantasia non è una dota degli sviluppatori...).

Figura 6.1.3: Le opzioni per il Server PostgreSQL Completati questi step, avremo, nel Menu Programmi, le voci in figura.

Figura 6.1.4: Il Menu di PostgreSQL TIP

Vi ricordo che l'avvio automatico o meno di un servizio in Windows è definibile nel Pannello di controllo -> Strumenti di Amministrazione -> Servizi; una volta individuato il Servizio (nel nostro caso PostgreSQL Database Server 8.1), un doppio click apre la

scheda delle proprietà, dove alla voce “Tipo di avvio” si può scegliere tra “Manuale” ed “Automatico”.

PgAdmin III è invece l'interfaccia grafica di configurazione, invero assai ben fatta. Ma prima di partire è necessario ancora mettere mano ai ...

6.1.2 File di configurazione

Postgres, da buon prodotto proveniente dal mondo Unix, utilizza dei semplici file di testo per la propria configurazione. Un'ottima idea è stata quella di aggiungere delle semplici chiamate al menu per la modifica di questi file, come in figura:

Figura 6.1.5: file di configurazione in Windows

Non è questa ovviamente la sede per esaminare in dettaglio le opzioni previste da Postgres, piuttosto ci interessa che il Server appena installato faccia due cose semplici : ascolti le richieste su tutte le interfacce di rete, e permetta l'accesso Client anche dagli altri Computer della Lan. Per la prima opzione, dobbiamo assicurarci che nel file postgres.conf siano presenti le seguenti righe:

....

listen_addresses = '*'# what IP interface(s) to listen on; # defaults to localhost, '*' = any

port = 5432 ...

in pratica si richiede al server di ascoltare le richieste su qualsiasi interfaccia IP presente sul sistema utilizzando la porta 5432. Questo ovviamente può non essere saggio in alcune

configurazioni (potremmo avere una interfaccia WAN, su cui ascoltare è inutile e pericoloso...), quindi regolatevi secondo le vostre esigenze. La seconda opzione prevede che nel file

pg_hba.conf siano presenti le righe:

# TYPEDATABASEUSERCIDR-ADDRESSMETHOD # IPv4 local connections:

hostallall127.0.0.1/32md5 hostallall192.168.1.1/24md5 ...

In particolare la seconda riga host indica che i PC con indirizzo nel segmento di rete

192.168.1.1/24 possono accedere con le credenziali di qualunque user a qualunque database. Notate l'estrema semplicità con cui è possibile limitare l'accesso al server con un editor di testo. Anche in questo caso l'effettiva configurazione dipende dalla vostra LAN e dal compito

assegnato al vostro Server. Tecnica

Se sul PC che ospita il Server Postgres è installato un Firewall, controllate che la porta 5432 non sia bloccata. Questo è il caso, per esempio di Windows XP con Service Pack 2. Se la vostra interfaccia di rete serve solo al collegamento LAN locale, può essere una buona idea

disabilitare questo tipo di Firewall (la cui efficacia è comunque tutta da dimostrare...)

6.1.3 Il Driver ODBC

Il Driver ODBC può essere installato assieme al Server oppure scaricando dal sito di

PostgreSQL il file psqlodbc-08_01_0101.zip. La configurazione del DSN non comporta grosse difficoltà: i Driver disponibili sono due, quello ANSI e quello Unicode, da scegliere in base alle proprie esigenze. Questa è la finestra dei parametri di connessione:

Figura 6.1.6: DSN per Postgres

6.1.4 Il Driver JDBC

Anche in questo caso i Driver JDBC sono inclusi nel Server, e possono essere recuperati nella cartella c:\programmi\PostgreSQL\8.1.\jdbc. Versioni aggiornate possono essere scaricate da http://jdbc.postgresql.org/download.html. Notate che sono disponibili diverse build, a seconda della versione di JDK utilizzata. Il file .jar può poi essere copiato in una posizione più comoda di vostra scelta.

6.1.5 I programmi Client

Nel Server sono inclusi sia psql, cioè il Client a linea di comando, sia l'interfaccia grafica di amministrazione pgAdmin III (nella versione 1.4.0). Versioni aggiornate di pgAdmin possono essere scaricate da http://www.pgadmin.org/.

Nel documento MANUALE OPERATIVO OPENOFFICE DATA BASE (pagine 52-55)