#​516 — July 26, 2023

Web Version

Together with  Crunchydata

Postgres Weekly

10 Postgres Tips for Beginners — The author is one of the co-hosts of the 🎤 Postgres.fm podcast and he and his co-host have come up with some thoroughly explained, thoughtful tips. They're admittedly at the more entry level end, but worth a skim nonetheless.

Nikolay Samokhvalov (Postgres․ai)

💡 We do love a good set of tips, so if you want more, this collection of 152 psql tips is handy whatever your skill level.

🕒  The Intricacies of Time and Timestamp Data Types — A thorough look at the practicalities of using types like TIMESTAMP and TIMESTAMPTZ, their related functions and operators, and how to work with timezones in queries.

Oliver Tan (Cockroach Labs)

We’re All About Great Postgres Support — "What a different support experience Crunchy is. Not only is it timely, it's informed, it's on topic. We’re encouraged to ask questions. We’re able to do so much more working with a partner who cares as much about data as we do." Rob Sullivan, CareRev.

Crunchydata sponsor

The Basics of Using JSON(B) in Postgres — This is a pretty neat, interactive way to learn about the power of Postgres’s JSON features including manipulating, querying, saving, and optimizing a simple object structure all within a browser-based Postgres environment.

Crunchy Data


Hurting Performance with Partitioning?“… using too many partitions will significantly increase the time the planner needs to do its job. Having hundreds of partitions can easily lead to a real disaster.”

Hans-Jürgen Schönig

▶  Postgres Can Do What Now? — A 37-minute talk touching on a variety of topics like pivot tables, window functions, and row level security.

Vagmi Mudumbai

How to Measure the Network's Impact on Postgres Performance — In most cases, Postgres isn’t running on the same server as the apps using it, so the network can have an impact on performance. Despite this, it’s not particularly easy to measure what that impact is from the database side, but the ‘wait events’ info from pg_stat_activity can provide some clues.

Jobin Augustine

How PostgresML Generates JS and Python SDKs from a Canonical Rust SDKPostgresML is an extension that adds machine learning functions into Postgres. Its team loves and prefers Rust but most of its users are using JavaScript or Python. What to do? Simultaneously write multi-language libraries using Rust..

Silas Marvin (PostgresML)

▶  How to Enable Change Data Capture on Amazon RDS Postgres
Gunnar Morling

Code and Tools

PgCat 1.1: A Modern Postgres Pooler and Proxy — Built in Rust, PgCat offers support for sharding (including, experimentally, based upon SQL syntax), load balancing and failover support. v1.1 adds support for prepared statements and server TLS connections.


Introducing the New pganalyze VACUUM Advisor for Postgres

pganalyze sponsor

libpqxx 7.8: The Official C++ Client API for PostgresLots of goodies, they say. C++17 users get a new array class for working wtih SQL arrays, faster large data set streaming, lots of bug fixes, improved exceptions, and more. Main repo.

Jeroen Vermeulen

Aquameta 0.4: A Web Stack Built Atop Postgres — An “all database” web development stack organized around several Postgres extensions.


PgBouncer 1.20.0: The Lightweight Connection Pooler — Introduces better support for tracking PG settings using a new track_extra_parameters setting, which can be used to track search_path in combination with Citus 12+. It also now connects using TLS by default and a variety of bugs have been squashed.

PgBouncer Team

An Oracle to Postgres Migration: 7 Tools That Make It Possible
Oded Valin (EverSQL)