Errore pg_restore da pgadmin3 - Postgresql


8

ho preso un backup di un db postgresql da un system1 usando lo strumento pgadmin3. Il file di backup creato ha l'estensione ".backup"

Sto provando a ripristinarlo su un altro system2 installato con postgresql 9.0 e pgadmin3 1.8 ma iam sta ottenendo l'errore

impossibile eseguire la query: ERRORE: parametro di configurazione non riconosciuto "lock_timeout" Il comando era: SET lock_timeout = 0;

configurazione di entrambi i sistemi

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

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

Risposte:


6

lock_timeout è un nuovo parametro che è apparso con PostgreSQL 9.3

Secondo le note di rilascio :

Aggiungi variabile di configurazione lock_timeout per consentire di limitare il tempo che una sessione attenderà per acquisire un blocco (Zoltán Böszörményi)

Ciò indicherebbe che pgadmin sta usando un pg_dumpcomando PostgreSQL 9.3 per eseguire il backup, anziché 9.0.

Questo è consigliato solo durante la migrazione a 9.3. Poiché il server di destinazione è 9.0, utilizzare meglio il pg_dumpbinario che è stato installato con il server 9.0.

Il percorso di file binari esterni può essere impostato nelle preferenze di pgAdmin. Per risolvere il problema, è possibile impostarlo sulla directory bin dell'installazione 9.0 e provare a eseguire nuovamente il backup.

Oltre a ciò, come soluzione una tantum puoi modificare il file di dump se è in testo normale, rimuovere la linea offensiva SET lock_timeout = 0;nella speranza che sia l'unico problema causato dalla mancata corrispondenza della versione.


1
Stranamente, ottengo questo stesso errore anche con un database di origine e destinazione 9.3 ...
Cerin

Ricevo questo errore con il backup di un db da heroku e il ripristino su un nuovo 9,3 db locale. Importa?
justingordon,

1
Non riesco a ottenere questo parametro in tutti i file di backup, ma il ripristino ripristina comunque lo stesso errore. Ho ottenuto il dump su 9.3 postgresql e provo a ripristinare su 9.2 postgresql. Penso che ci sia qualche opzione per creare automaticamente questi parametri lock_timeout?
g.annunziata,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.