public inbox for [email protected]  
help / color / mirror / Atom feed
From: Adrian Klaver <[email protected]>
To: Dominique Devienne <[email protected]>
To: [email protected]
Subject: Re: About the stability of COPY BINARY data
Date: Thu, 7 Nov 2024 08:37:35 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAFCRh-9W8mXh9MfRe-Z5bAcN5FVbsXuSW60-QPVMB1jHC4+bzQ@mail.gmail.com>
References: <CAFCRh--O5DdQ=cR_Ph5sKoVurpC4A1F1_qB1H9VuiwAZR=F5+A@mail.gmail.com>
	<CAFCRh-9W8mXh9MfRe-Z5bAcN5FVbsXuSW60-QPVMB1jHC4+bzQ@mail.gmail.com>

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
[email protected]







view thread (7+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: About the stability of COPY BINARY data
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox