Masalahnya adalah dump menggunakan fungsi pg_catalog.lowrite(integer, bytea)
untuk membuat objek besar, dan sintaks default bagaimana bytea
literal yang direpresentasikan dalam PostgreSQL telah diubah dengan versi 9.0.
Ada parameter bytea_output
yang dapat diatur ke escape
untuk menampilkan bytea
dalam format lama dengan versi PostgreSQL yang lebih baru. Sayangnya, pg_dump
tidak menghormati parameter itu saat membuat dump, selalu menggunakan hex
"baru" format.
Hasilnya adalah dump yang berisi objek besar dari PostgreSQL versi 9.0 atau yang lebih baru tidak dapat dipulihkan ke dalam database pra-9.0.
Anda harus mentransfer objek besar ini dengan cara lain, mungkin dengan menulis program migrasi.
Anda dapat mengusulkan (pada milis pgsql-hackers) sebuah opsi untuk pg_dump
yang memungkinkan untuk mengatur bytea_escape
untuk dump, tetapi Anda mungkin menemui penolakan, karena memulihkan dump dari versi PostgreSQL yang lebih baru ke yang lebih lama tidak didukung.