Error de pg_restore de pgadmin3 - Postgresql

8

He tomado una copia de seguridad de una base de datos postgresql de un system1 usando la herramienta pgadmin3. El archivo de copia de seguridad creado es de extensión ".backup"

Estoy tratando de restaurarlo en otro sistema2 instalado con postgresql 9.0 y pgadmin3 1.8 pero obtengo el error

no se pudo ejecutar la consulta: ERROR: parámetro de configuración no reconocido "lock_timeout" El comando fue: SET lock_timeout = 0;

configuración de ambos sistemas

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
fuente

Respuestas:

6

lock_timeout es un nuevo parámetro que apareció con PostgreSQL 9.3

Por las notas de la versión :

Agregue la variable de configuración lock_timeout para permitir limitar cuánto tiempo esperará una sesión para adquirir cualquier bloqueo (Zoltán Böszörményi)

Eso indicaría que pgadmin está utilizando un pg_dumpcomando PostgreSQL 9.3 para realizar la copia de seguridad, en lugar de 9.0.

Esto se recomienda solo cuando se migra a 9.3. Como el servidor de destino es 9.0, utilice mejor el pg_dumpbinario que se ha instalado con el servidor 9.0.

La ruta de los binarios externos se puede establecer en las preferencias de pgAdmin. Para solucionar el problema, puede configurarlo en el directorio bin de su instalación 9.0 e intentar hacer una copia de seguridad nuevamente.

Aparte de eso, como una solución única, puede editar el archivo de volcado si está en texto sin formato, elimine la línea ofensiva SET lock_timeout = 0;con la esperanza de que sea el único problema causado por la falta de coincidencia de la versión.

Daniel Vérité
fuente
1
Curiosamente, recibo este mismo error incluso con una base de datos de origen y destino 9.3 ...
Cerin
Recibo este error con una base de datos respaldada por heroku y restaurando una nueva local de 9.3 db. ¿Importa?
justingordon
1
No puedo obtener este parámetro en todos los archivos de copia de seguridad, pero aun así restaurarlo, informa el mismo error. Me volcaron en 9.3 postgresql e intento restaurar en 9.2 postgresql. ¿Creo que hay alguna opción para crear automáticamente estos parámetros lock_timeout?
g.annunziata