# New in PostgreSQL 14: What every developer should know

[Supabase](https://yomu.fyi/company/supabase) · Gurjeet Singh · Nov 28, 2021

**Type:** Explainer

## Summary

PostgreSQL 14 introduces several enhancements to improve application performance, data manipulation, query troubleshooting, and database security. Developers can traverse nested JSON data structures using subscripting and store noncontiguous values using multirange data types in single operations. Applications relying on libpq can leverage client-side query pipelining to send multiple queries across high-latency networks without waiting for individual responses, while parallel execution now supports foreign data wrappers, parallel sequential scans, and materialized view refreshes. For observability, query IDs are integrated into live execution tracking via pg\_stat\_activity, EXPLAIN VERBOSE outputs, and log files. Security upgrades include predefined read-only roles such as pg\_read\_all\_data alongside SCRAM-SHA-256 enabled as the default authentication mechanism.

## Context

Developers and database administrators face challenges including managing complex nested JSON, handling disjointed data ranges without multiple inserts, overcoming network latency during batch operations, correlating query monitoring metrics across system components, and maintaining secure password hashing.

## Approach / What changed

PostgreSQL 14 adds native JSON subscripting syntax, multirange column types like tsmultirange, libpq client-side query pipelining, system-wide query identifier tracking via compute\_query\_id, built-in read-only roles, and default SCRAM-SHA-256 password hashing.

## Takeaways

- PostgreSQL 14 enables JSON key traversal via subscripting syntax and permits noncontiguous data mapping through multirange types such as tsmultirange.
- Client-side query pipelining in libpq allows multiple queries to be dispatched simultaneously over a single connection, reducing latency overhead.
- Query identifiers can be enabled via compute\_query\_id to monitor live queries in pg\_stat\_activity, log files, and EXPLAIN VERBOSE outputs.

**Tags:** [Authentication](https://yomu.fyi/topic/authentication), [Observability](https://yomu.fyi/topic/observability), [Open Source](https://yomu.fyi/topic/open-source), [Performance](https://yomu.fyi/topic/performance), [Postgres](https://yomu.fyi/topic/postgres)

[Read original post](https://supabase.com/blog/whats-new-in-postgres-14)
