Problemet er, at dumpen bruger funktionen pg_catalog.lowrite(integer, bytea)
at oprette det store objekt, og standardsyntaksen hvordan bytea
bogstaver er repræsenteret i PostgreSQL er ændret med version 9.0.
Der er parameteren bytea_output
som kan indstilles til escape
for at udlæse bytea
i det gamle format med senere PostgreSQL-versioner. Ak, pg_dump
respekterer ikke denne parameter ved oprettelse af dumps, den bruger altid den "nye" hex
format.
Resultatet er, at et dump, der indeholder store objekter fra en PostgreSQL-version af 9.0 eller nyere, ikke kan gendannes i en database før 9.0.
Du bliver nødt til at overføre disse store objekter på en anden måde, sandsynligvis ved at skrive et migreringsprogram.
Du kan foreslå (på pgsql-hackers mailingliste) en mulighed for at pg_dump
der gør det muligt at indstille bytea_escape
for dumpet, men du møder måske modstand, da gendannelse af et dump fra en senere PostgreSQL-version til en ældre ikke understøttes.