Waiting for PostgreSQL 15 – SQL/JSON query functions

On 29th of March 2022, Andrew Dunstan committed patch: SQL/JSON query functions   This introduces the SQL/JSON functions for querying JSON data using jsonpath expressions. The functions are:   JSON_EXISTS() JSON_QUERY() JSON_VALUE()   All of these functions only operate on jsonb. The workaround for now is to cast the argument to jsonb.   JSON_EXISTS() tests … Continue reading “Waiting for PostgreSQL 15 – SQL/JSON query functions”

Waiting for PostgreSQL 15 – SQL/JSON constructors

On 27th of March 2022, Andrew Dunstan committed patch: SQL/JSON constructors   This patch introduces the SQL/JSON standard constructors for JSON:   JSON() JSON_ARRAY() JSON_ARRAYAGG() JSON_OBJECT() JSON_OBJECTAGG()   For the most part these functions provide facilities that mimic existing json/jsonb functions. However, they also offer some useful additional functionality. In addition to text input, the … Continue reading “Waiting for PostgreSQL 15 – SQL/JSON constructors”

Waiting for PostgreSQL 15 – Add support for MERGE SQL command

On 28th of March 2022, Alvaro Herrera committed patch: Add support for MERGE SQL command   MERGE performs actions that modify rows in the target table using a source table or query. MERGE provides a single SQL statement that can conditionally INSERT/UPDATE/DELETE rows — a task that would otherwise require multiple PL statements. For example, … Continue reading “Waiting for PostgreSQL 15 – Add support for MERGE SQL command”

Waiting for PostgreSQL 15 – Add support for security invoker views.

On 22nd of March 2022, Dean Rasheed committed patch: Add support for security invoker views.   A security invoker view checks permissions for accessing its underlying base relations using the privileges of the user of the view, rather than the privileges of the view owner. Additionally, if any of the base relations are tables with … Continue reading “Waiting for PostgreSQL 15 – Add support for security invoker views.”

Waiting for PostgreSQL 15 – Allow archiving via loadable modules.

On 3rd of February 2022, Robert Haas committed patch: Allow archiving via loadable modules.   Running a shell command for each file to be archived has a lot of overhead and may not offer as much error checking as you want, or the exact semantics that you want. So, offer the option to call a … Continue reading “Waiting for PostgreSQL 15 – Allow archiving via loadable modules.”

Waiting for PostgreSQL 15 – Add UNIQUE null treatment option

On 3rd of February 2022, Peter Eisentraut committed patch: Add UNIQUE null treatment option   The SQL standard has been ambiguous about whether null values in unique constraints should be considered equal or not. Different implementations have different behaviors. In the SQL:202x draft, this has been formalized by making this implementation-defined and adding an option … Continue reading “Waiting for PostgreSQL 15 – Add UNIQUE null treatment option”

Waiting for PostgreSQL 15 – Add HEADER support to COPY text format

On 28th of January 2022, Peter Eisentraut committed patch: Add HEADER support to COPY text format   The COPY CSV format supports the HEADER option to output a header line. This patch adds the same option to the default text format. On input, the HEADER option causes the first line to be skipped, same as … Continue reading “Waiting for PostgreSQL 15 – Add HEADER support to COPY text format”

Waiting for PostgreSQL 15 – Introduce log_destination=jsonlog

On 17th of January 2022, Michael Paquier committed patch: Introduce log_destination=jsonlog   "jsonlog" is a new value that can be added to log_destination to provide logs in the JSON format, with its output written to a file, making it the third type of destination of this kind, after "stderr" and "csvlog". The format is convenient … Continue reading “Waiting for PostgreSQL 15 – Introduce log_destination=jsonlog”

Waiting for PostgreSQL 15 – Add assorted new regexp_xxx SQL functions.

On 3rd of August 2021, Tom Lane committed patch: Add assorted new regexp_xxx SQL functions.   This patch adds new functions regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(), and extends regexp_replace() with some new optional arguments. All these functions follow the definitions used in Oracle, although there are small differences in the regexp language due to using … Continue reading “Waiting for PostgreSQL 15 – Add assorted new regexp_xxx SQL functions.”