pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: David Fetter <david@fetter.org>
To: Robert Haas <robertmhaas@gmail.com>
Cc: David Steele <david@pgmasters.net>
Cc: Tels <nospam-pg-abuse@bloodgate.com>
Cc: Suraj Kharage <suraj.kharage@enterprisedb.com>
Cc: Rushabh Lathia <rushabh.lathia@gmail.com>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Cc: Jeevan Chalke <jeevan.chalke@enterprisedb.com>
Cc: vignesh C <vignesh21@gmail.com>
Subject: Re: backup manifests
Date: Wed, 1 Jan 2020 20:09:18 +0100
Message-ID: <20200101190917.GR32763@fetter.org> (raw )
In-Reply-To: <CA+Tgmoa+oTgwobVQFb+BGSaGLxS7_tqZJbgUP=waskfb83wvKQ@mail.gmail.com >
References: <CAF1DzPXcCgXP2awVaH4uHovPo77JdLYPAYShzwnSPMVzdUmxSQ@mail.gmail.com >
<CA+TgmoZdJ=vBoDU1Skv52Prybp36kMvmpTDBXbmoky0owNgMiA@mail.gmail.com >
<CAF1DzPW1CAjR7FG86b-OL+hAP2xGqmBUtv0WtRhDz+r+Mwy-Hw@mail.gmail.com >
<CA+TgmoYY5LXfbmeCO3gpCoCJcqNj0125PO7B7ecuJjnoEdB08A@mail.gmail.com >
<CAF1DzPXOofDsdSqgEtzpegfcvqB_1TND_h_8uQrvJuVvx-4pDA@mail.gmail.com >
<CA+TgmobnSHW3upkS_x6D=cM9A3jT9ZA0pcH0FJitBfkyW7sFJA@mail.gmail.com >
<f97892ef565db763c97f23566c2cb6e5@bloodgate.com >
<20191231174325.GQ32763@fetter.org >
<7cb79c9e-8377-b2b5-3fa4-9775e1aca1fe@pgmasters.net >
<CA+Tgmoa+oTgwobVQFb+BGSaGLxS7_tqZJbgUP=waskfb83wvKQ@mail.gmail.com >
On Wed, Jan 01, 2020 at 01:43:40PM -0500, Robert Haas wrote:
> On Tue, Dec 31, 2019 at 9:16 PM David Steele <david@pgmasters.net> wrote:
> > > That said, I agree that there's no reason to come up with a bespoke
> > > format and parser when JSON is already available in every PostgreSQL
> > > installation. Imposing a structure atop that includes a version
> > > number, as you suggest, seems pretty straightforward, and should be
> > > done.
> >
> > +1. I continue to support a format that would be easily readable
> > without writing a lot of code.
>
> So, if someone can suggest to me how I could read JSON from a tool in
> src/bin without writing a lot of code, I'm all ears. So far that's
> been asserted but not been demonstrated to be possible. Getting the
> JSON parser that we have in the backend to work from frontend doesn't
> look all that straightforward, for reasons that I talked about in
> http://postgr.es/m/CA+TgmobZrNYR-ATtfZiZ_k-W7tSPgvmYZmyiqumQig4R4fkzHw@mail.gmail.com
Maybe I'm missing something obvious, but wouldn't combining
pg_read_file() with a cast to JSONB fix this, as below?
shackle@[local]:5413/postgres(13devel)(892328) # SELECT jsonb_pretty(j::jsonb) FROM pg_read_file('/home/shackle/advanced_comparison.json') AS t(j);
jsonb_pretty
════════════════════════════════════
[ ↵
{ ↵
"message": "hello world!",↵
"severity": "[DEBUG]" ↵
}, ↵
{ ↵
"message": "boz", ↵
"severity": "[INFO]" ↵
}, ↵
{ ↵
"message": "foo", ↵
"severity": "[DEBUG]" ↵
}, ↵
{ ↵
"message": "null", ↵
"severity": "null" ↵
} ↵
]
(1 row)
Time: 3.050 ms
> As to the suggestion that a version number be included, that's been
> there in every version of the patch I've posted.
and thanks for that!
Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
view thread (243+ messages) latest in thread
Message-ID: <20200101190917.GR32763@fetter.org>
Permalink: ../20200101190917.GR32763@fetter.org/
Also on: postgresql.org/message-id/20200101190917.GR32763@fetter.org
copy link · copy postgr.es
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: pgsql-hackers@postgresql.org
Cc: david@fetter.org, robertmhaas@gmail.com, david@pgmasters.net, nospam-pg-abuse@bloodgate.com, suraj.kharage@enterprisedb.com, rushabh.lathia@gmail.com, andrew.dunstan@2ndquadrant.com, jeevan.chalke@enterprisedb.com, vignesh21@gmail.com
Subject: Re: backup manifests
In-Reply-To: <20200101190917.GR32763@fetter.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox