#​489 — January 18, 2023

Web Version

Together with  Percona logo

Postgres Weekly

PostgreSQL 16's random_normal() Function — This will give us a way to get normally-distributed random numbers, which could have key benefits in creating certain types of random/dummy data. Hubert gives us a tour.

Hubert depesz Lubaczewski

How to JSON in Postgres — A series of articles on how to solve common JSON related tasks from extracting fields and converting a table row to JSON to prettifying JSON output and removing null values from objects.

Francesco Tisiot

Struggling with High Availability on Postgres? — Percona has been building highly available PostgreSQL for over 15 years. Our architectures, powered by streaming replication and built with only battle-tested open source components, are designed to ensure an HA level of up to 99.9%. Learn more.

Percona sponsor

usql: A 'Universal psql'? — A comparison of the Go-powered usql ‘universal CLI’ for various database systems (including Postgres) and Postgres’s own psql client. Syntax highlighting is.. a highlight, says Pavlo, but being able to query across multiple data sources is useful, and usql supports many of the same backslash commands too.

Pavlo Golub

Using RETURNING to Return Modified Rows — Did you know that INSERT, UPDATE, and DELETE all support an optional RETURNING clause to return data from modified rows?

Tobias Petry


Building a Postgres Wire Protocol Server — A Java-oriented tutorial that has two purposes, both to show to implement Postgres’s wire protocol and to show off a variety of new Java 17 features.

Gavin Ray

Avoiding Constraint Violations with the DATE Type when Migrating from Oracle to Postgres
Akhil Reddy Banappagari

Handling NULLs and Empty Values in PL/Perl
Luca Ferrari

🛠 Code and Tools

SQLite-Based Databases on the Postgres Protocol? Yes We Can — We linked to this project last week, but now there’s a bit more of an explainer.

Glauber Costa

Bun 1.1.10: Simple, Performant ORM for Go — Supporting Postgres, MySQL, SQL Server and SQLite, Bun is a modern SQL-first database client library for Go developers with built-in migration and fixtures support. GitHub repo.

Vladimir Mihailenco

Tuple, a Lightning-Fast Pairing Tool Built for Remote Developers

Tuple sponsor