Je reprends dans ce billet, la procédure complète pour monter rapidement une BD spatiale sous Postgresql/PostGIS. On utilisera souvent cette base de donnée simplement pour avoir un contenant de nos données géométriques. Plusieurs utiliseront la chemin le plus court pour se connecter au serveur avec l’usager/mot de passe par défaut soit: postgres/postgres. Il faut par contre idéalement, créer un autre utilisateur pour accéder au données SANS oublier de changer le mot de passe par défaut du serveur.
1) Installation du serveur Postgresql/PostGIS ET de l’utilitaire pgadmin pour un client ubuntu
sudo apt-get update
sudo apt-get install postgresql postgresql-client postgresql-contrib postgresql-8.4-postgis
sudo apt-get install pgadmin3
sudo su postgres
psql
alter user postgres with password 'pw_defaut_a_changer_de_grace';
2) Un fois l’extension PostGIS intallée dans Postgresql, il ne reste qu’a trouver les deux fichiers SQL permettant d’accéder au fonctions spatiales et de la cherger avec psql.
Note: On va créer la BD template avec un encodage UTF-8. Dépendant des versions à venir, le répertoire et même le nom des fichiers SQL peut varier...
sudo su postgres
createdb -E utf8 -O postgres postgis
createlang plpgsql postgis
psql -d postgis -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql
psql -d postgis -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql
3) Vérifier l’installation Postgresql / PostGIS est bien correcte. On doit avoir la table geometry_table et spatial_ref_sys
sudo su postgres
psql postgis
d
Liste des relations
Schéma | Nom | Type | Propriétaire
--------+-------------------+-------+--------------
public | geography_columns | vue | postgres
public | geometry_columns | table | postgres
public | spatial_ref_sys | table | postgres
4) Par la suite on peux créer des BD (une bd par projet par exemple) avec le template postgis et un user
sudo su postgres
createdb -E utf8 -W -O postgres -T postgis osm
psql -d osm
CREATE USER osmusr WITH PASSWORD 'osm';
GRANT ALL PRIVILEGES ON DATABASE osm to osmusr;
GRANT ALL ON TABLE geometry_columns TO osmusr;
GRANT ALL ON TABLE spatial_ref_sys TO osmusr;
alter user postgres with password 'petitpou';
q
exit (sortir du super user postgres)
psql -d osm -U osmusr -W