Problem polega na tym, że zrzut używa funkcji pg_catalog.lowrite(integer, bytea) aby utworzyć duży obiekt i domyślną składnię jak bytea literały są reprezentowane w PostgreSQL zmieniły się w wersji 9.0.
Jest parametr bytea_output który można ustawić na escape wyprowadzić bytea w starym formacie z nowszymi wersjami PostgreSQL. Niestety, pg_dump nie respektuje tego parametru podczas tworzenia zrzutów, zawsze używa „nowego” hex format.
W rezultacie zrzutu zawierającego duże obiekty z wersji PostgreSQL 9.0 lub nowszej nie można przywrócić do bazy danych przed wersją 9.0.
Będziesz musiał przenieść te duże obiekty w inny sposób, prawdopodobnie pisząc program do migracji.
Możesz zaproponować (na liście dyskusyjnej pgsql-hackers) opcję pg_dump który pozwala ustawić bytea_escape dla zrzutu, ale możesz napotkać opór, ponieważ przywracanie zrzutu z późniejszej wersji PostgreSQL do starszej nie jest obsługiwane.