Re: Emitting JSON to file using COPY TO
Junwang Zhao <zhjwpku@gmail.com>
From: Junwang Zhao <zhjwpku@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: jian he <jian.universality@gmail.com>,
Masahiko Sawada <sawada.mshk@gmail.com>, Joe Conway <mail@joeconway.com>, Daniel Verite <daniel@manitou-mail.org>, Andrew Dunstan <andrew@dunslane.net>, Davin Shearer <davin@apache.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
Sutou Kouhei <kou@clear-code.com>
Date: 2024-01-31T09:58:00Z
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
Hi Vignesh, On Wed, Jan 31, 2024 at 5:50 PM vignesh C <vignesh21@gmail.com> wrote: > > On Sat, 27 Jan 2024 at 11:25, Junwang Zhao <zhjwpku@gmail.com> wrote: > > > > Hi hackers, > > > > Kou-san(CCed) has been working on *Make COPY format extendable[1]*, so > > I think making *copy to json* based on that work might be the right direction. > > > > I write an extension for that purpose, and here is the patch set together > > with Kou-san's *extendable copy format* implementation: > > > > 0001-0009 is the implementation of extendable copy format > > 00010 is the pg_copy_json extension > > > > I also created a PR[2] if anybody likes the github review style. > > > > The *extendable copy format* feature is still being developed, I post this > > email in case the patch set in this thread is committed without knowing > > the *extendable copy format* feature. > > > > I'd like to hear your opinions. > > CFBot shows that one of the test is failing as in [1]: > [05:46:41.678] /bin/sh: 1: cannot open > /tmp/cirrus-ci-build/contrib/pg_copy_json/sql/test_copy_format.sql: No > such file > [05:46:41.678] diff: > /tmp/cirrus-ci-build/contrib/pg_copy_json/expected/test_copy_format.out: > No such file or directory > [05:46:41.678] diff: > /tmp/cirrus-ci-build/contrib/pg_copy_json/results/test_copy_format.out: > No such file or directory > [05:46:41.678] # diff command failed with status 512: diff > "/tmp/cirrus-ci-build/contrib/pg_copy_json/expected/test_copy_format.out" > "/tmp/cirrus-ci-build/contrib/pg_copy_json/results/test_copy_format.out" > > "/tmp/cirrus-ci-build/contrib/pg_copy_json/results/test_copy_format.out.diff" > [05:46:41.678] Bail out!make[2]: *** [../../src/makefiles/pgxs.mk:454: > check] Error 2 > [05:46:41.679] make[1]: *** [Makefile:96: check-pg_copy_json-recurse] Error 2 > [05:46:41.679] make: *** [GNUmakefile:71: check-world-contrib-recurse] Error 2 > > Please post an updated version for the same. Thanks for the reminder, the patch set I posted is not for commit but for further discussion. I will post more information about the *extendable copy* feature when it's about to be committed. > > [1] - https://cirrus-ci.com/task/5322439115145216 > > Regards, > Vignesh -- Regards Junwang Zhao