El problema es que el volcado usa la función pg_catalog.lowrite(integer, bytea)
para crear el objeto grande y la sintaxis predeterminada cómo bytea
los literales se representan en PostgreSQL ha cambiado con la versión 9.0.
Existe el parámetro bytea_output
que se puede configurar para escape
para generar bytea
en el formato antiguo con versiones posteriores de PostgreSQL. Por desgracia, pg_dump
no respeta ese parámetro al crear volcados, siempre usa el "nuevo" hex
formato.
El resultado es que un volcado que contiene objetos grandes de una versión PostgreSQL de 9.0 o posterior no se puede restaurar en una base de datos anterior a la 9.0.
Tendrá que transferir estos objetos grandes de alguna otra forma, probablemente escribiendo un programa de migración.
Podría proponer (en la lista de correo de pgsql-hackers) una opción para pg_dump
que permite establecer bytea_escape
para el volcado, pero es posible que encuentre resistencia, ya que no se admite la restauración de un volcado de una versión posterior de PostgreSQL a una anterior.