On Wed, Jan 01, 2020 at 01:43:40PM -0500, Robert Haas wrote: > On Tue, Dec 31, 2019 at 9:16 PM David Steele <da...@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-w7tspgvmyzmyiqumqig4r4fk...@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