parameter - postgresql instalar
Postgresql-parámetro de configuración no reconocido (2)
De acuerdo con las Notas de la versión de Postgresql 9.6, el parámetro idle_in_transaction_session_timeout
se introdujo en la versión 9.6.
E.2.3.1.10. Configuración del servidor
Permitir que las sesiones se terminen automáticamente si están en estado inactivo en transacción por demasiado tiempo (Vik Fearing)
Este comportamiento está controlado por el nuevo parámetro de configuración idle_in_transaction_session_timeout. Puede ser útil para evitar que las transacciones olvidadas mantengan cerraduras o que eviten la limpieza por vacío durante demasiado tiempo.
Dado que está utilizando la versión 9.5 en el servidor, el parámetro no se reconoce.
Es posible que haya utilizado la versión 9.6 del cliente de Postgresql para exportar datos desde el servidor de la fuente 9.5 y que el parámetro se haya introducido en el archivo de volcado. Si este fuera el caso, recomendaría usar una versión del cliente 9.5 para exportar e importar los datos.
Exporté una base de datos postgresql desde un servidor externo e intenté importarla a mi servidor local pero obtuve este error:
unrecognized configuration parameter "idle_in_transaction_session_timeout"
¿Significa este tipo de error que los dos servidores están utilizando versiones diferentes de postgresql? Miré en eso, y el servidor externo se está ejecutando:
version
PostgreSQL 9.5.4 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
y mi servidor se está ejecutando:
version
PostgreSQL 9.5.5 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609, 64-bit
Más o menos lo mismo. ¿Hay un sitio donde pueda ver todos los parámetros de configuración válidos para cada versión? ¿Y hay una manera de sincronizar dos bases de datos como esta, para que las incompatibilidades como esta se solucionen automáticamente?
La respuesta aceptada es el camino a seguir, pero si por alguna razón no puede actualizar la versión, aquí hay una solución.
- Exportar utilizando texto plano. Probablemente quieras usar la compresión también.
pg_dump -F c -Z 9 dbname > file.zip
- Antes de importar, necesitamos eliminar el parámetro ofensivo. Para ello podemos utilizar zcat y grep.
zcat file.zip | grep -vw "idle_in_transaction_session_timeout" | psql -d newdb
Tenga en cuenta que existen inconvenientes al usar psql en lugar de pg_import. Por ejemplo, uno no puede usar el -j para importar simultáneamente.