> Le 23 avr. 2017 à 07:59, Yedidyah Bar David <d...@redhat.com> a écrit :

> The main reason we require this is for pg_dump/pg_restore which are ran
> during setup/rollback (if needed). pg_dump can't know for sure that all
> the changes in the db were done using a client of its own version (that
> is, current machine usually), and if indeed a newer client was used, it
> might have used features that pg_dump of the lower version doesn't know
> how to back up (and especially pg_restore does not know how to restore).
> See also [1]. I seem to have tested there (can't remember anymore, see
> comment 13) 9.2 client with 9.5 server and it didn't work. pg_dump(1)
> manpage says:
>       Because pg_dump is used to transfer data to newer versions of
>       PostgreSQL, the output of pg_dump can be expected to load into
>       PostgreSQL server versions newer than pg_dump's version.  pg_dump can
>       also dump from PostgreSQL servers older than its own version.
>       (Currently, servers back to version 7.0 are supported.) However,
>       pg_dump cannot dump from PostgreSQL servers newer than its own major
>       version; it will refuse to even try, rather than risk making an invalid
>       dump. Also, it is not guaranteed that pg_dump's output can be loaded
>       into a server of an older major version — not even if the dump was
>       taken from a server of that version. Loading a dump file into an older
>       server may require manual editing of the dump file to remove syntax not
>       understood by the older server. Use of the --quote-all-identifiers
>       option is recommended in cross-version cases, as it can prevent
>       problems arising from varying reserved-word lists in different
>       PostgreSQL versions.

I don't get it, but I don't know pg so I might be wrong.

You have a client application (like ovirt) written using features from V1 of pg.

It's running on a server where version V2 is installing. For good reasons, V2 
>= V1 is needed.

The server is running a version V3. Again V3 >= V1 is needed.   Except for 
major version, does V3 => V2 is really needed ?

And for backup the problem is the same. It must probably know every features 
used in the application (so again being V1 or more). Why does it needs to match 
both V2 and V3 ?  It will probably fits V2 is installation is the same. But 
that not mandatory. In a java application, the client library might be a jar 
provided by the application and pg_dump a tool installed with native os 
packaging. But how can complain against V3 ?

But with ovirt we have V1=V2=V3, even for for patch level (9.4.8 against 
9.4.11). What kind of feature that ovirt don't know about might be missing ? I 
don't think ovirt might know about any 9.4 since you talked about version 9.2 
as the official supported version.

Users mailing list

Reply via email to