[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


327. Applicazioni base di dati (database)

327.1 Differenze tra db e dbms

Che differenza c'è tra db e dbms?

Un db è un data base, un archivio cioè un insieme di dati.
Chi li gestisce? li gestisce il dbms (Data Base Management System)

R: Michele Dionisio

327.2 Compilazione php e postgres

ho il seguente problema: quando compilo php con il supporto a postgres (./configure --with-pgsql; make), la compilazione si interrompe con il seguente esito:

/usr/src/packages/SOURCES/php-3.0.12 # make

[...]

functions/php3_pgsql.h:46: libpq-fe.h: No such file or directory
functions/php3_pgsql.h:47: libpq/libpq-fs.h: No such file or directory

[...]

make: *** [internal_functions.o] Error 1

Perché non ci sono quei libpq? È un pacchetto che devo aggiungere? Dove lo trovo?

Nel postgres-devel.

D: Stefano Giunchi
R: ZioBudda

327.3 Problema postgresql + php3

Ho una Debian GNU/Linux 2.1. Questo è l'errore che mi si presenta quando mi connetto ad un archivio con uno script php3:

Unable to connect to PostgresSQL server: connectDB() failed: Is the
postmaster running and accepting connections at 'UNIX Socket' on port
'5432'? in /var/www/prova.php3

oppure

Unable to connect to PostgresSQL server: connectDB() failed: Is the
postmaster running with the '-i option?

Ho provato i vari modi di connessione (mettendo e omettendo il nome del server). Non va sia che l'archivio sia stato creato da un utente apposito (creato con createuser da postgres) che da postgres. Il postmaster funziona molto bene visto che riesco a utilizzare psql normalmente. Nella documentazione c'è scritto che se appare questo errore, o il postmaster non gira (invece gira) o mi connetto al server sbagliato (non mi pare di sbagliare). Il problema è apparso dopo l'aggiornamento del Postgres.

In questo caso è proprio la mancanza dell'opzione -i che nel caso
di aggiornamento del PostgreSQL non viene ripristinata.

Per ovviare al problema, devi modificare il file:

/etc/postgresql/postmaster.init

Questo file contiene una riga che serve ad abilitare le connessioni TCP/IP.
Questa riga (che probabilmente attualmente è commentata o ha valore 'no'),
deve risultare essere qualcosa del genere:

: PGALLOWTCPIP=yes

e ci deve essere anche la configurazione della porta

: PGPORT=5432
  
Ci si deve anche ricordare che esiste anche il file pg_hba.conf 
che ti permette connessioni a distanza.

D: Il Paolone
R: Fredo

327.4 PostgreSQL

Ho installato regolarmente il postgres, ma non riesco a creare un archivio. Da cosa dipende?

Dipende dal fatto che si devono creare utenti abilitati alla 
generazione degli archivi.

La creazione degli utenti è un'operazione che può fare solo l'utente postgres
con il comando:

createuser nome 

(dando prima il comando 'su postgres'). 

Se l'utente non è ancora in grado di creare l'archivio (e in realtà neanche
l'utente postgres può farlo), allora vuol dire che non è stata inizializzata
la struttura delle directory del database di postgres: occorre quindi eseguire:

su postgres

e:

initdb

327.5 Creare gli archivi con PostgreSQL

Come si crea un db con PostgreSQL?

Createdb nomedb

(deve essere però un utente abilitato alla creazione degli archivi.
Questi "poteri" glieli conferisce l'utente postgres con il comando createuser)

327.6 Come si fa ad accedere ad un archivio in PostgreSQL?

Per accedere, modificare, aggiungere dati e strutture all'archivio si da il comando:

psql nome_archivio

(deve essere però un utente abilitato . Questi "poteri" glieli conferisce
l'utente postgres con il comando createuser)

---------------------------

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]