Mise à jour du serveur Red Hat

Etat initial

PostgreSQL : PostgreSQL 8.4.3 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 32-bit

PostGIS : POSTGIS= »1.5.0″ GEOS= »3.2.0-CAPI-1.6.0″ PROJ= »Rel. 4.6.1, 21 August 2008″ LIBXML= »2.6.26″ USE_STATS

Etat attendu

PostgreSQL : 9.2.x

PostGIS : 2.x

Documents utilisés :

  • http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
  • http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS20CentOS6pgdg
  • http://postgis.refractions.net/documentation/manual-2.0/postgis_installation.html#hard_upgrade

Démarche

Sauvegarde des bases de données désirées de l’ancien serveur

on monte le répertoire de sauvagarde

mount -t cifs //192.168.1.240/sauvegardes -o rw,username=admin,password=cen122009,noperm /mnt/svg/

on sauvegarde les bases une à une

pg_dump -h localhost -p 5432 -U dba -Fc -N temp -b -v -f « /mnt/svg/sicen_2013_01_14.backup » sicen

on sauvegarde les rôles

pg_dumpall -g > roles.sql

on monte le répertoire de sauvegarde sur le nouveau serveur

mount -t cifs //192.168.1.240/sauvegardes -o rw,username=admin,password=cen122009,noperm /mnt/svg/

on crée la nouvelle base de données avec PostGIS

on recrée les rôles en utilsant rôles.sql

on lance le script de restauration (hard upgrade)

perl /usr/pgsql-9.2/share/contrib/postgis-2.0/postgis_restore.pl « /home/admin/Documents/sicen_2013_01_14.backup » | psql -h 127.0.0.1 -p 5432 -U dba newdb 2> erreurs.txt

Les erreurs remontées sont dûes à des fonctions qui n’existent plus dans cette version de PostGIS ( cas de area2d(geometry), buffer(geometry, double precision) et centroid(geometry) dont que nous avons recréées à partir des définitions SQL de leurs version modernes (ST_buffer(geometry, double precision)…)