Re: Emitting JSON to file using COPY TO
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Joe Conway <mail@joeconway.com>
Cc: Daniel Verite <daniel@manitou-mail.org>,
Andrew Dunstan <andrew@dunslane.net>, Davin Shearer <davin@apache.org>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2023-12-07T01:21:28Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add option force_array for COPY JSON FORMAT
- 4c0390ac53b7 19 (unreleased) landed
-
json format for COPY TO
- 7dadd38cda95 19 (unreleased) landed
-
introduce CopyFormat, refactor CopyFormatOptions
- a2145605ee3d 19 (unreleased) landed
-
Doc: add IDs to copy.sgml's <varlistentry> and <refsect1>
- e4018f891dec 19 (unreleased) cited
On Wed, Dec 6, 2023 at 6:14 PM Joe Conway <mail@joeconway.com> wrote: > > > But the point that we should introduce a 2 still stands. The new code > > would mean: use text output functions but that there is no inherent > > tabular structure in the underlying contents. Instead the copy format > > was JSON and the output layout is dependent upon the json options in the > > copy command and that there really shouldn't be any attempt to turn the > > contents directly into a tabular data structure like you presently do > > with the CSV data under format 0. Ignore the column count and column > > formats as they are fixed or non-existent. > > I think that amounts to a protocol change, which we tend to avoid at all > costs. > > I wasn't sure on that point but figured it might be the case. It is a value change, not structural, which seems like it is the kind of modification any living system might allow and be expected to have. But I also don't see any known problem with the current change of content semantics without the format identification change. Most of the relevant context ends up out-of-band in the copy command itself. David J.