For jsonb_indent, how about having it match up closer to the JavaScript JSON.stringify(value, replacer, space)[1]? That way a user can specify the indentation level and optionally filter the fields they'd like to output.
In JS, the "replacer" parameter can be either a JS function or an array of property names. I don't think the former is really possible (in a SQL callable function) but the latter would be a text[]. The "space" parameter can be either a string (used directly) or a number (corresponding number of spaces). The PG function signatures would be something like: CREATE OR REPLACE FUNCTION jsonb_stringify(obj jsonb, replacer text[], space text) CREATE OR REPLACE FUNCTION jsonb_stringify(obj jsonb, replacer text[], space int) For convenience we could also include overloads with replacer removed (since most people probably want the entire object): CREATE OR REPLACE FUNCTION jsonb_stringify(obj jsonb, space text) CREATE OR REPLACE FUNCTION jsonb_stringify(obj jsonb, space int) Having json_stringify versions of these would be useful as well. Regards, -- Sehrope Sarkuni [1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers