[Gfoss] installazione postgre/postgis su ubuntu 6.10 tramite apt

/> Questo significa che le funzioni e le tabelle di postgis (necessarie

per ogni database) non sono presenti nel database "template1".
Questo non significa necessariamente che PostGIS non sia installato.
Significa che il file di istruzioni lwpostgis.sql (ed
spatial_ref_sys.sql) non sono stati "caricati" in quel db.

Per fare questo:

createlang plpgsql yourtestdatabase
psql -d yourtestdatabase -f lwpostgis.sql
psql -d yourtestdatabase -f spatial_ref_sys.sql

questo lo puoi fare per ogni database che vuoi "abilitare" a postgis,
oppure in un database che tu userai come template (ad esempio template1)

se lo fai per template1 (che postgresql usadi default come template),
ognu nuovo database sarà abilitato a postgis.

nessuno ti vieta però di crearti il "tuo" database di template (ad
esempio geotemplate) dove tu carichi le funzioni di postgis e tutto
quello che vorresti già fatto in un nuovo database.
In questo modo:

createdb geotemplate
createlang plpgsql geotemplate
psql -d geotemplate -f lwpostgis.sql
psql -d geotemplate -f spatial_ref_sys.sql

psql -d geotemplate -f
altre_istruzioni_per_funzioni_o_tabelle_che_uso_sempre.sql

ora geotemplate lo puoi usare cometemplate per i tuoi database postgis.
per fare questo, quando crei un nuovo database basta:

createdb nuovo_postgis_db -T geotemplate

L'installer di windows per postgresql (se abiliti postgis) mette di
default le funzioni(e tabelle) di postgis in template1

Spero questo ti sia d'aiuto...

Ciao
Ruggero

/ciao Ruggero,
ho provato a seguire le tuo istruzioni (avevo già installato postgis tramite apt):
ho creato il db geotemplate
ho digitato l'istruzione createlang plpgsql geotemplate
ma quando vado ad eseguire psql -d geotemplate -f lwpostgis.sql

ricevo il seguente messaggio: lwpostgis.sql: No such file or directory

Allora ho provato ad entrare in psql, connettermi a geotemplate e poi digitare:

-d geotemplate -f lwpostgis.sql

-d geotemplate -f spatial_ref_sys.sql

in questo, effettivamente, modo non ottengo messaggi "inquietanti", semplicemente ottengo il prompt pronto per accogliere nuove
istruzioni:

geotemplate=#

A questo punto se verifico l'installazione di postgis con la funzione

select postgis_full_version();

dovrei ottenere informazioni riguardo la versione di postgis installata, invece ottengo questo:

geotemplate=# select postgis_full_version();
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.

in windows ho sempre verificato così l'installazione di postgis...
ho sbagliato qualcosa? ditemi...

ciao e grazie
Alessio

/ciao Ruggero,
ho provato a seguire le tuo istruzioni (avevo già installato postgis tramite apt):
ho creato il db geotemplate
ho digitato l'istruzione createlang plpgsql geotemplate
ma quando vado ad eseguire psql -d geotemplate -f lwpostgis.sql

ricevo il seguente messaggio: lwpostgis.sql: No such file or directory

non so dove l'apt-get metta il file, credo in qualche sotto-directory di /usr/,
per scoprirlofai un find tipo:

find /usr/ -name lwpostgis.sql

che ti dovrebbe dare

/usr/share/lwpostgis.sql (o altro percorso)

psql -d geotemplate -f /usr/share/lwpostgis.sql

Allora ho provato ad entrare in psql, connettermi a geotemplate e poi digitare:

-d geotemplate -f lwpostgis.sql

-d geotemplate -f spatial_ref_sys.sql

è giusto come facevi prima, solo che devi dare il percorso completo
per raggiungere il file.

Ciao
Ruggero