#1 Fri 06 November 2020 13:29
- Alex-GIS-51
- Juste Inscrit !
- Date d'inscription: 6 Nov 2020
- Messages: 4
[PostGIS 3] Migration de donnees issues de PostGIS 2
Bonjour chers amis usagers de PostGIS,
J'ai un soucis que j'ai du mal à résoudre. Toute aide serait très appréciée :-)
Voilà, je cherche à migrer une ancienne base de données postgreSQL 9.3.5 / postGIS v2 vers un nouvel environnement postgreSQL 13.0 / postGIS v3.
A l'issue de l'export-import de données, je retrouve bien mes tables avec des polygones, par contre je n'arrive pas à faire quoi que ce soit des anciennes tables raster.
J'ai peut-être zappé un truc, ou je me plante complètement dans la façon de m'y prendre.
Voilà en détail comment je procède :
1) export de l'ancienne BDD via PgAdmin 4 (Backup. Format : personnalisé, Codage = UTF-8) => j'obtiens un fichier sql
2) création sur le postgreSQL cible d'une nouvelle base de données, avec le même nom, extensions + legacy
cd C:Program FilesPostgreSQL13bin
createdb -U postgres myDB
psql -U postgres -d myDB -c "CREATE EXTENSION postgis;"
psql -U postgres -d myDB -f "C:Program FilesPostgreSQL13sharecontribpostgis-3.0legacy.sql"
psql -U postgres -d myDB -c "CREATE EXTENSION postgis_topology;"
psql -U postgres -d myDB -c "CREATE EXTENSION postgis_raster;"
psql -U postgres -d myDB -c "CREATE EXTENSION postgis_sfcgal;"
psql -U postgres -d myDB -c "CREATE EXTENSION address_standardizer;"
psql -U postgres -d myDB -c "CREATE EXTENSION postgis_tiger_geocoder CASCADE;"
3) trasnformation du backup via restore.pl
cd C:Program FilesPostgreSQL13bin
"C:Program FilesPostgreSQL13utilspostgis_restore.pl" -v "C:BACKUP.sql" > "C:restore.sql"
psql -U postgres -d myDB -f "C:restore.sql"
4) exécution de restore.sql (quelques erreurs à la fin)
Toute aide serait très gentille :-) Merci par avance !
Hors ligne
#2 Fri 06 November 2020 13:51
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
Aloha,
Qu'entendez-vous par :
A l'issue de l'export-import de données, je retrouve bien mes tables avec des polygones, par contre je n'arrive pas à faire quoi que ce soit des anciennes tables raster.
Les search_path sont-ils identiques dans les deux bases ?
Que donne le sql résultat de ?
Pg_dump -f c:\temp\dump.sql --no-acl --no-owner service=mydb
Cdlt
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#3 Mon 09 November 2020 10:37
- Alex-GIS-51
- Juste Inscrit !
- Date d'inscription: 6 Nov 2020
- Messages: 4
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
Pardon, les choses étaient encore un peu confuses pour moi lorsque j'ai écrit ce message.
Déjà, merci beaucoup Pierre pour ta réponse.
Oublions cette histoire de tables raster.
J'ai bien suivi la procédure telle que je l'ai indiquée.
Mon problème c'est qu'à l'issu de l'exécution de la dernière étape (script restore.sql), j'ai l'erreur suivante vers la fin du script :
ERREUR: la relation « geometry_columns » n'existe pas
Ceci correspond à la ligne suivante dans le script :
UPDATE topology.topology t set srid = g.srid FROM geometry_columns g WHERE t.name = g.f_table_schema AND g.f_table_name = 'face' and f_geometry_column = 'mbr';
Une idée ?
Merci beaucoup par avance.
Hors ligne
#4 Fri 13 November 2020 09:19
- Alex-GIS-51
- Juste Inscrit !
- Date d'inscription: 6 Nov 2020
- Messages: 4
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
Personne n'a d'idée ?
Hors ligne
#5 Fri 13 November 2020 09:27
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1549
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
Bonjour,
La vue geometry_columns existe-t-elle sur la nouvelle BD ?
Que vaut la variable search_path sur cette nouvelle base ?
Que renvoie select postgis_full_version() ?
Nicolas
Hors ligne
#6 Fri 13 November 2020 11:10
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1549
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
De ce que je vois en faisant la migration comme vous:
Le script restore.pl oublie de remettre à jour la variable search_path, ou oublie de qualifier les tables/vues postgis avec schema.table:
Dans mon exemple (pas de topologie créée dans la BD 9.3), la variable search_path est vide apres la commande:
SELECT pg_catalog.set_config('search_path', '', false);
du debut du script, mais le script appelle la table spatial_ref_sys sans la qualifier par le schéma public dans lequel elle est.
Comme correction rapide:
editez le fichier restore.sql avant de le lancer sur la nouvelle BD (attention s'il est gros, ca peut prendre du temps) et forcez le search_path avant l'appel du sql concernant geometry_columns ou spatial_ref_sys:
set search_path to 'public', "$user";
et relancer le script restore.pl.
Nicolas
Hors ligne
#7 Mon 07 December 2020 10:33
- Alex-GIS-51
- Juste Inscrit !
- Date d'inscription: 6 Nov 2020
- Messages: 4
Re: [PostGIS 3] Migration de donnees issues de PostGIS 2
Wow, merci beaucoup Nicolas pour cette super analyse technique, c'est vraiment très très très sympa :-)
MERCI BEAUCOUP !
Hors ligne