[Gfoss] installazione postgres/postgis riuscita

Innanzitutto scusate se apro un nuovo thread, ma cambiando l'indirizzo sul quale ricevo la mailing list devo aver fatto qualche macello e non sono riuscito a trovare il modo di rispondere al messaggio scritto precedentemente.

Grazie all'aiuto di Giovanni e Ruggero sono riuscito a configurare postgre e postgis correttamente su ubuntu 6.10.
Mi resta solo da capire perchè pgadmin 3 non vuole saperne di connettersi, ma conto di risolvere al più presto.
Nel frattempo mi diletto con psql...

Il seguente errore (che avevo postato prima e che mi veniva fuori quando verificavo l'installazione di postgis):

ERROR: function postgis_full_version() does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.

era dovuto al fatto che non avevo inserito i giusti path per abilitare le funzioni di postgis nel db da me creato...
sostituendo i percorsi con quelli corretti tutto ha funzionato alla perfezione.

Posto di seguito la procedura completa sperando che in futuro possa essere utile a qualcuno.

    --------------------------------------------------------
1) Installazione PostgreSQL/PostGIS
    --------------------------------------------------------

Da terminale:

utente@host:~$ sudo apt-get install postgresql-8.1 postgresql-client-8.1 postgresql-contrib-8.1 postgresql-8.1-pljava-gcj postgresql-8.1-plr postgresql-8.1-postgis postgresql-8.1-slony1

   ------------------------------------------------
2) Configurazione PostgreSQL
   ------------------------------------------------

Installati tutti i pacchetti bisogna creare la password per l'utente postgres
per poter accedere al dbms:

utente@host:~$ sudo su (per loggarsi come root)
root@host:~$ passwd postgres

a questo punto si può digitare la nuova password dell'utente postgres.
Questa sarà la password con cui loggarsi in psql.

Per iniziare ad utilizzare psql, bisogna innanzitutto loggarsi come utente postgres:

utente@host:~$ su - postgres

e poi inserire la password precedentemente impostata.

postgres@host:~$ psql

Siamo in psql:

postgres#=

Ora, col comando \c nomedatabase possiamo connetterci ad un db.

   ---------------------------------------
3) Abilitazione di PostGIS
   ---------------------------------------

Bisogna caricare i file di istruzioni

lwpostgis.sql
e spatial_ref_sys.sql

Questi file possono essere caricati ogni volta che si crea un db che deve utilizzare postgis
oppure possono essere caricati "una volta per tutte" in un db template (scelta consigliata).
Se non lo abbiamo già fatto, logghiamoci come utente postgres e creiamo il nostro template (geotemplate... come suggeritomi di Ruggero)
digitando il seguente comando:

postgres@host:~$ createdb geotemplate

e poi abiltiamo postgis in geotemplate come segue:

postgres@host:~$ createlang plpgsql geotemplate
postgres@host:~$ psql -d geotemplate -f /usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql
postgres@host:~$ psql -d geotemplate -f /usr/share/postgresql-8.1-postgis/lwpostgis.sql

Adesso entriamo in psql, connettiamoci a geotemplate e digitiamo la seguente funzione:

geotemplate=# SELECT postgis_full_version();

otterremo questo messaggio:
POSTGIS="1.1.2" GEOS="2.2.1-CAPI-1.0.1" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS

che restituisce delle informazioni riguardo la versione di postgis installata nel sistema

Ottimo Alessio! Io posterei sul wiki.
Per pgadmin: se ti logghi come root o postgres dovrebbe dirti che è disabilitato il logging con questi (super)utenti. Dovrebbe, di default, per ragioni di sicurezza. Io evito in genere di lavorare come postgres per manipolare il db in uso. Piuttosto creo un utente dentro pgsql: “createuser -a -d -P nomeutente” (l’opzione “a” se vuoi permettere all’utente di creare altri utenti, la “d” per creare database, “P” per ricevere il prompt per inserire la password). A questo punto dovresti vedere il tuo utente con “SELECT * from pg_shadow”. Adesso puoi loggarti a pgadmin con questo utente…
Giovanni

2006/11/1, alessio di lorenzo <alessio.dilorenzo@gmail.com>:

Innanzitutto scusate se apro un nuovo thread, ma cambiando l’indirizzo
sul quale ricevo la mailing list devo aver fatto qualche macello e non
sono riuscito a trovare il modo di rispondere al messaggio scritto
precedentemente.

Grazie all’aiuto di Giovanni e Ruggero sono riuscito a configurare
postgre e postgis correttamente su ubuntu 6.10.
Mi resta solo da capire perchè pgadmin 3 non vuole saperne di
connettersi, ma conto di risolvere al più presto.
Nel frattempo mi diletto con psql…

Il seguente errore (che avevo postato prima e che mi veniva fuori quando
verificavo l’installazione di postgis):

ERROR: function postgis_full_version() does not exist
HINT: No function matches the given name and argument types. You may
need to add explicit type casts.

era dovuto al fatto che non avevo inserito i giusti path per abilitare
le funzioni di postgis nel db da me creato…
sostituendo i percorsi con quelli corretti tutto ha funzionato alla
perfezione.

Posto di seguito la procedura completa sperando che in futuro possa
essere utile a qualcuno.


  1. Installazione PostgreSQL/PostGIS

Da terminale:

utente@host:~$ sudo apt-get install postgresql-8.1 postgresql-client-8.1
postgresql-contrib-8.1 postgresql-8.1-pljava-gcj postgresql-8.1-plr
postgresql-8.1-postgis postgresql-8.1-slony1


  1. Configurazione PostgreSQL

Installati tutti i pacchetti bisogna creare la password per l’utente
postgres
per poter accedere al dbms:

utente@host:~$ sudo su (per loggarsi come root)
root@host:~$ passwd postgres

a questo punto si può digitare la nuova password dell’utente postgres.
Questa sarà la password con cui loggarsi in psql.

Per iniziare ad utilizzare psql, bisogna innanzitutto loggarsi come
utente postgres:

utente@host:~$ su - postgres

e poi inserire la password precedentemente impostata.

postgres@host:~$ psql

Siamo in psql:

postgres#=

Ora, col comando \c nomedatabase possiamo connetterci ad un db.


  1. Abilitazione di PostGIS

Bisogna caricare i file di istruzioni

lwpostgis.sql
e spatial_ref_sys.sql

Questi file possono essere caricati ogni volta che si crea un db che
deve utilizzare postgis
oppure possono essere caricati “una volta per tutte” in un db template
(scelta consigliata).
Se non lo abbiamo già fatto, logghiamoci come utente postgres e creiamo
il nostro template (geotemplate… come suggeritomi di Ruggero)
digitando il seguente comando:

postgres@host:~$ createdb geotemplate

e poi abiltiamo postgis in geotemplate come segue:

postgres@host:~$ createlang plpgsql geotemplate
postgres@host:~$ psql -d geotemplate -f
/usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql
postgres@host:~$ psql -d geotemplate -f
/usr/share/postgresql-8.1-postgis/lwpostgis.sql

Adesso entriamo in psql, connettiamoci a geotemplate e digitiamo la
seguente funzione:

geotemplate=# SELECT postgis_full_version();

otterremo questo messaggio:
POSTGIS=“1.1.2” GEOS=“2.2.1-CAPI-1.0.1” PROJ=“Rel. 4.4.9, 29 Oct 2004”
USE_STATS

che restituisce delle informazioni riguardo la versione di postgis
installata nel sistema


Gfoss mailing list
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss

Concordo, mettetelo sul wiki!
pc

At 01:29, giovedì 2 novembre 2006, G. Allegri has probably written:

Ottimo Alessio! Io posterei sul wiki.
Per pgadmin: se ti logghi come root o postgres dovrebbe dirti che è
disabilitato il logging con questi (super)utenti. Dovrebbe, di default, per
ragioni di sicurezza. Io evito in genere di lavorare come postgres per
manipolare il db in uso. Piuttosto creo un utente dentro pgsql: "createuser
-a -d -P nomeutente" (l'opzione "a" se vuoi permettere all'utente di creare
altri utenti, la "d" per creare database, "P" per ricevere il prompt per
inserire la password). A questo punto dovresti vedere il tuo utente con
"SELECT * from pg_shadow". Adesso puoi loggarti a pgadmin con questo
utente...
Giovanni

--
Paolo Cavallini
email+jabber: cavallini@faunalia.it
www.faunalia.it
Piazza Garibaldi 5 - 56025 Pontedera (PI), Italy Tel: (+39)348-3801953

Paolo Cavallini ha scritto:

Concordo, mettetelo sul wiki!
pc

At 01:29, giovedì 2 novembre 2006, G. Allegri has probably written:
  

Ottimo Alessio! Io posterei sul wiki.
Per pgadmin: se ti logghi come root o postgres dovrebbe dirti che è
disabilitato il logging con questi (super)utenti. Dovrebbe, di default, per
ragioni di sicurezza. Io evito in genere di lavorare come postgres per
manipolare il db in uso. Piuttosto creo un utente dentro pgsql: "createuser
-a -d -P nomeutente" (l'opzione "a" se vuoi permettere all'utente di creare
altri utenti, la "d" per creare database, "P" per ricevere il prompt per
inserire la password). A questo punto dovresti vedere il tuo utente con
"SELECT * from pg_shadow". Adesso puoi loggarti a pgadmin con questo
utente...
Giovanni
    

Grazie del suggerimento per pgAdmin... provo al più presto (forse già stasera).
Quindi, dite di postare il procedimento sul wiki...
Per me va bene, non dovrei metterci molto. Non so ancora come si scrive sul wiki ma vado subito a documentarmi. Se dovessi trovare difficoltà chiederò aiuto tramite la mailing list.
Grazie a tutti,
ciao
Alessio