The following steps will reproduce the error: 1. pg_dump on a 12.1 database 2. pg_restore to a postgres db on a version < 12 (in my case 9.6). The error: `pg_restore: [archiver] unsupported version (1.14) in file header`
Questions/observations: 1. Is it expected that pg_dump will produce backwards incompatible dumps? If so, is this documented somewhere? 2. The release notes don't mention this at all as far as I could see. Should they? 3. Should this be a bug? This is the first backwards incompatibility in pg_dump (that I can see) since 9.6
Vera Gangeskar Johne <[hidden email]> writes:
> PG 12 bumped the pg_backup_archiver version to 1.14, however this version
> is not supported in past versions of pg_backup_archiver, resulting in
> restores to earlier versions not working.
Yup. Use a newer version of pg_restore.
> 1. Is it expected that pg_dump will produce backwards incompatible dumps?
It's happened before, and it will happen again, no doubt.
> 2. The release notes don't mention this at all as far as I could see.
> Should they?
Possibly. In practice, backwards-incompatibility of the SQL contained
in the dump is a bigger issue most of the time than the dump file format
proper, and there are issues of that sort in almost every major release.
> 3. Should this be a bug?
No. It's impractical to freeze that file format, because we keep adding
new things that pg_dump has to deal with (as the version history you found
shows). Maybe it could've been designed to be more extension-friendly,
but such a redesign would itself be backwards-incompatible.