Re: Emitting JSON to file using COPY TO

From: Joe Conway <mail(at)joeconway(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>, Davin Shearer <davin(at)apache(dot)org>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Emitting JSON to file using COPY TO
Date: 2023-12-06 13:49:13
Message-ID: bbf922c5-f571-483e-a2c6-2730b02183fe@joeconway.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On 12/6/23 07:36, Andrew Dunstan wrote:
>
> On 2023-12-05 Tu 16:46, Joe Conway wrote:
>> On 12/5/23 16:20, Andrew Dunstan wrote:
>>> On 2023-12-05 Tu 16:09, Joe Conway wrote:
>>>> On 12/5/23 16:02, Joe Conway wrote:
>>>>> On 12/5/23 15:55, Andrew Dunstan wrote:
>>>>>> and in any other case (e.g. LINES) I can't see why you
>>>>>> would have them.
>>>>
>>>> Oh I didn't address this -- I saw examples in the interwebs of MSSQL
>>>> server I think [1] which had the non-array with commas import and
>>>> export style. It was not that tough to support and the code as
>>>> written already does it, so why not?
>>>
>>> That seems quite absurd, TBH. I know we've catered for some absurdity in
>>> the CSV code (much of it down to me), so maybe we need to be liberal in
>>> what we accept here too. IMNSHO, we should produce either a single JSON
>>> document (the ARRAY case) or a series of JSON documents, one per row
>>> (the LINES case).
>>
>> So your preference would be to not allow the non-array-with-commas
>> case but if/when we implement COPY FROM we would accept that format?
>> As in Postel'a law ("be conservative in what you do, be liberal in
>> what you accept from others")?
>
>
> Yes, I think so.

Awesome. The attached does it that way. I also ran pgindent.

I believe this is ready to commit unless there are further comments or
objections.

--
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com

Attachment Content-Type Size
copyto_json.006.diff text/x-patch 18.7 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message balasubramanian c r 2023-12-06 14:32:52 GIN INdex is not used with && operator for a text array index
Previous Message Patrick FICHE 2023-12-06 13:44:14 RE: ALTER SUBSCRIPTION ... REFRESH cannot be executed from a function

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2023-12-06 13:50:45 Re: logical decoding and replication of sequences, take 2
Previous Message Tomas Vondra 2023-12-06 13:47:11 Re: logical decoding and replication of sequences, take 2