Closed JeanLenormand closed 3 years ago
Il y a en effet une erreur avec le type public.raster
identifiée dans les logs.
Pourtant tu as bien créé l'extension postgis_raster
au préalable, nécessaire depuis PostGIS 3.
Du coup je ne vois pas ce que ça peut être.
Salut, je sais pas si ça peut te donner des pistes, voici mes notes pour la maj d'une bdd d'un cluster de postgres à un autre.
@mviadere-openig merci pour ton retour. J'ai suivi ton doc et la référence que tu as utilisée (../README.Debian) mais je reviens au même problème : sudo pg_dropcluster 12 main --stop sudo pg_upgradecluster 11 main (en pièce jointe le retour de cette cmd)
Après un "sudo dpkg-reconfigure geotrek-admin" j'ai tenté d'ajouter un POIs -> Server Error (500) + redémarrage de la machine qui a planté.. Le log de postgre est aussi en pièce jointe.
De mémoire la méthode avec pg_upgradecluster ne marche pas si en parallèle on passe de Postgis 2 à Postgis 3. Il faut passer par un hard upgrade, c'est à dire un dump/restore. Apparemment il faut plutôt faire un dump au format custom (avec l'option -Fc). Cf. https://postgis.net/docs/manual-3.0/postgis_installation.html#hard_upgrade
Par défaut, pg_upgradecluster
fait un hard upgrade. Selon la page de manuel:
-m, --method=dump|upgrade
Specify the upgrade method. "dump" uses pg_dump(1) and pg_restore(1), "upgrade" uses pg_upgrade(1). The default is "dump".
Merci pour vos retours. Je rebondis sur la procédure indiquée dans le lien de @gutard pour faire un hard upgrade. Mais le script perl postgis_restore.pl est introuvable. Sauriez-vous me dire où je peux le trouver ou comment l'installer ? J'ai perl 5, version 26 installée sur ma machine.
sudo su postgres psql -p 5433
Tu es connecté dans la base postgresql
->CREATE USER myuser PASSWORD 'mypw'; ->CREATE DATABASE mydb OWNER myuser ENCODING 'UTF8' TEMPLATE template0;
Tu as créé une base mydb
mais tu es toujours connecté dans la base postgresql
->CREATE EXTENSION postgis; ->CREATE EXTENSION postgis_raster;
L'extension postgis_raster
est créée dans la base postgres
et non dans la base mydb
.
Après les CREATE DATABASE
il faudrait faire \c mydb
pour changer de base.
Merci @gutard en effet, je n'avais pas changé de base... Je vais revoir mes fondamentaux. Problème résolu.
@JeanLenormand par curiosité, est-ce que la création de tronçons et d'évènements fonctionnent ?
@mviadere-openig oui tout fonctionne. Que ce soit la création ou la modification de tronçons et d'évènements existants.
J'essai de migrer une bdd GTA d'une instance postgre11/postgis2.4 vers une instance postgre12/postgis3. Lors du pg-restore, il semble y avoir un problème avec Postgis 3.
Voici ma config : GTA v2.52.1 en local sur Ubuntu 18.04
Voici les cmd effectuées : sudo apt-get update sudo apt-get -y install postgresql-12 postgresql-12-postgis-3 pg_lsclusters (pg11 sur le port 5432 & pg12 sur le port 5433) sudo pg_ctlcluster 11 main stop sudo su postgres psql -p 5433 ->CREATE USER myuser PASSWORD 'mypw'; ->CREATE DATABASE mydb OWNER myuser ENCODING 'UTF8' TEMPLATE template0; ->CREATE EXTENSION postgis; ->CREATE EXTENSION postgis_raster; ->exit ->exit sudo -u postgres pg_restore -v -p 5433 -d mydb mydb-en-pg11.backup
J'ai mis le log en pièce jointe ainsi qu'un export des tâches qui ont été effectuées lors du pg_restore.
Si quelqu'un a des pistes je suis preneur !! :)
Merci.
Jean
postgresql-12-main.log pg_restoreBUG.txt