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 16:15:39 |
Message-ID: | 56ad15e3-624d-4a22-921f-82129d31bfaa@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On 12/6/23 10:32, Andrew Dunstan wrote:
>
> On 2023-12-06 We 08:49, Joe Conway wrote:
>> 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.
>
> Sorry to bikeshed a little more, I'm a bit late looking at this.
>
> I suspect that most users will actually want the table as a single JSON
> document, so it should probably be the default. In any case FORCE_ARRAY
> as an option has a slightly wrong feel to it.
Sure, I can make that happen, although I figured that for the
many-rows-scenario the single array size might be an issue for whatever
you are importing into.
> I'm having trouble coming up with a good name for the reverse of
> that, off the top of my head.
Will think about it and propose something with the next patch revision.
--
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
From | Date | Subject | |
---|---|---|---|
Next Message | Estevan Rech | 2023-12-06 16:16:11 | Re: Delete Account |
Previous Message | Adrian Klaver | 2023-12-06 16:00:44 | Re: Delete Account |
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2023-12-06 16:18:39 | Re: Clean up some signal usage mainly related to Windows |
Previous Message | Tom Lane | 2023-12-06 15:44:19 | Re: Emitting JSON to file using COPY TO |