erreur pg_restore de pgadmin3 - Postgresql

8

j'ai pris une sauvegarde d'une base de données postgresql à partir d'un system1 en utilisant l'outil pgadmin3. Le fichier de sauvegarde créé a l'extension ".backup"

J'essaie de le restaurer sur un autre système2 installé avec postgresql 9.0 et pgadmin3 1.8 mais j'obtiens l'erreur

n'a pas pu exécuter la requête: ERREUR: paramètre de configuration non reconnu "lock_timeout" La commande était: SET lock_timeout = 0;

configuration des deux systèmes

system1 win7-64bit postgresql 9.0.13-1 - 64bit pgadmin 1.8

system2 win7-32bit postgresql 9.0.13-1 - 32bit pgadmin 1.8

Sangram Anand
la source

Réponses:

6

lock_timeout est un nouveau paramètre qui est apparu avec PostgreSQL 9.3

Selon les notes de version :

Ajoutez la variable de configuration lock_timeout pour permettre de limiter la durée d'attente d'une session pour acquérir un verrou (Zoltán Böszörményi)

Cela indiquerait que pgadmin utilise une pg_dumpcommande PostgreSQL 9.3 pour effectuer la sauvegarde, au lieu de 9.0.

Ceci est recommandé uniquement lors de la migration vers 9.3. Étant donné que le serveur cible est 9.0, il vaut mieux utiliser le pg_dumpbinaire qui a été installé avec le serveur 9.0.

Le chemin des binaires externes peut être défini dans les préférences de pgAdmin. Pour résoudre le problème, vous pouvez le placer dans le répertoire bin de votre installation 9.0 et réessayer de sauvegarder.

En dehors de cela, en tant que correctif unique, vous pouvez modifier le fichier de vidage s'il est en texte brut, supprimez la ligne incriminée SET lock_timeout = 0;dans l'espoir que c'est le seul problème provoqué par l'incompatibilité de version.

Daniel Vérité
la source
1
Curieusement, je reçois cette même erreur même avec une base de données source et destination 9.3 ...
Cerin
Je reçois cette erreur avec une base de données sauvegardée à partir de Heroku et en train de restaurer sur une nouvelle base de données locale 9.3. Est-ce que ça importe?
justingordon
1
Je ne peux pas obtenir ce paramètre dans tous les fichiers de sauvegarde, mais la restauration me rapporte toujours la même erreur. J'ai obtenu un vidage sur 9.3 postgresql et j'essaie de restaurer sur 9.2 postgresql. Je pense qu'il y a une option pour créer automatiquement ces paramètres lock_timeout?
g.annunziata