public inbox for [email protected]
help / color / mirror / Atom feedFrom: Daniel Verite <[email protected]>
To: Andrew Dunstan <[email protected]>
Cc: Masahiko Sawada <[email protected]>
Cc: Jian He <[email protected]>
Cc: Joe Conway <[email protected]>
Cc: Junwang Zhao <[email protected]>
Cc: Florents Tselai <[email protected]>
Cc: Andrey M. Borodin <[email protected]>
Cc: Dean Rasheed <[email protected]>
Cc: Davin Shearer <[email protected]>
Cc: PostgreSQL development <[email protected]>
Subject: Re: Emitting JSON to file using COPY TO
Date: Wed, 18 Mar 2026 15:37:23 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
Andrew Dunstan wrote:
> Here's a v30 set that I hope fixes these issues.
Currently there's no difference in output between the null
json value and the SQL null.
postgres=# create table tbl (j jsonb);
CREATE TABLE
postgres=# insert into tbl values('null');
INSERT 0 1
postgres=# insert into tbl values(null);
INSERT 0 1
postgres=# table tbl;
j
------
null
(2 rows)
postgres=# copy tbl to stdout with (format json);
{"j":null}
{"j":null}
If we had to reload this file, we could not determine which
kind of null we had even though they are different at the SQL
level:
postgres=# select null::jsonb is distinct from 'null'::jsonb;
?column?
----------
t
Does it have to be that way or are there valid distinct outputs
that we could use to avoid this ambiguity?
Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/
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], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Emitting JSON to file using COPY TO
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