Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 16/05/2019 14:23:34
- caius
- Membre
pg_restore bloqué avec extension plpgsql
Bonjour,
je rencontre un problème pour restaurer une base de données avec pgadmin4. J'utilise les seules options --clean et --single-transaction sur un fichier dump :
/usr/pgsql-10/bin/pg_restore --host "localhost" --port "5432" --username "postgres" --no-password --role "postgres" --dbname "applip" --clean --single-transaction --verbose "/var/lib/pgadmin/storage/script_modification/applip_2019-05-14_11-07-02.dump"
mais je rencontre tout le temps la même erreur :
pg_restore: dropping COMMENT EXTENSION plpgsql
pg_restore: dropping EXTENSION plpgsql
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 1; 3079 13794 EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR: cannot drop extension plpgsql because other objects depend on it
DETAIL: function schema.create_batiment(character varying,numeric,character varying,character varying,character varying,character varying) depends on language plpgsql
...
j'ai une instance postgres test sur laquelle j'arrive sans problème à restaurer mes bases mais là je ne comprends pas pourquoi l'extension plpgsql me bloque...
Que dois-je changer ?
merci d'avance
Hors ligne
#2 16/05/2019 16:02:24
- gleu
- Administrateur
Re : pg_restore bloqué avec extension plpgsql
Vous demandez à ce qu'il supprime les objets existants avant de les créer. Or, quand il doit supprimer le langage PL/pgsql, il s'aperçoit que ce dernier est utilisé par des procédures stockées. Il ne peut pas supprimer le langage sans supprimer les procédures, du coup la suppression est en erreur. Est-ce une ancienne base ? dans ce cas, il faudrait supprimer les procédures stockées ou utiliser une autre base, vierge cette fois.
Guillaume.
Hors ligne
Pages : 1