On 11/6/24 08:20, Dominique Devienne wrote:
From https://www.postgresql.org/docs/current/sql-copy.html:
|> binary-format file is less portable across machine architectures
and PostgreSQL versions
In my experience, the binary encoding of binding/resultset/copy is
endian neutral (network byte order), so what is the less portable
across machine architectures that warning about?
Also, does the code for per-type _send() and _recv() functions really change
across versions of PostgreSQL? How common are instances of such
changes across versions? Any examples of such backward-incompatible
changes, in the past?
The binary data contains OIDs, but if sticking to built-in types,
which OIDs are unlikely to change across versions?
I'm obviously storing COPY BINARY data (we have lots of bytea
columns), and I wonder how bad it is long term, and across PostgreSQL
versions.
If I where to hazard a guess this plays a part:
https://www.postgresql.org/docs/current/sql-copy.html
"To determine the appropriate binary format for the actual tuple data
you should consult the PostgreSQL source, in particular the *send and
*recv functions for each column's data type (typically these functions
are found in the src/backend/utils/adt/ directory of the source
distribution)."
Thanks for any insights, --DD
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx