#320 — August 28, 2019

Read on the Web

Postgres Weekly

The Art of PostgreSQL, Second Edition — One of the Postgres project’s main contributors has put together an appealing second edition package here, including a new edition of his popular book, interviews, code, and examples digging deep into Postgres. (But, yes, it costs money.)

Dimitri Fontaine

Row Level Security, Views and a Lot of Magic — Row Level Security (RLS) is a key Postgres feature that lets you define granular policies on which rows specific users can view or manipulate. Here’s a look at how they work and a problem Cybertec discovered with the feature.

Hans-Jürgen Schönig

eBook: The Most Important Events to Monitor in Your Postgres Logs — In this pganalyze eBook, we are looking at the Top 6 Postgres log events for monitoring query performance and preventing downtime.

pganalyze sponsor

How Timescale is Building a Distributed Time-Series Database on Top of PostgresTimescaleDB is a popular extension that brings time-series database features to Postgres. Here, Timescale share their design, plans, and benchmarks for a new (and still in closed beta) distributed version of TimescaleDB.

Mike Freedman and Erik Nordström (Timescale)

Using Patroni for Managing High Availability in Postgres — A technical comparison of Patroni versus repmgr and PAF for managing highly available Postgres clusters.

Madan Kumar

Quickly Generate Diagrams of Your Postgres Databasedbdiagram.io is an online tool for drawing database relationship diagrams using a simple DSL language. This short script turns your Postgres-based database into that language.

Holistics Software

6 Things a Developer Should Know About Postgres — Download our white paper to learn why PostgreSQL has seen a sharp rise in popularity among developers.

EnterpriseDB sponsor

PgBouncer 1.11.0 Released — The major new feature in the latest version of the popular connection pooler is support for SCRAM authentication. Improved Postgres 12 support too.

Peter Eisentraut

Getting PL/Proxy Running with PostgreSQL 11 and FreeBSD 12 — Very niche, but if you need to do it, it’s not easy and this new pull request on the project will help. Luca also suggests a way to get it working with Postgres 12 but recommends not to use it in production yet.

Luca Ferrari

supported by Datadog

💡 Tip of the Week


Today's tip is really simple, but I know plenty of Postgres users aren't familiar with it. We'll be building from this simple tip into more interesting and complex DISTINCT examples over the coming weeks.

At the most basic level, DISTINCT is a keyword you can use on SELECT queries to eliminate duplicate rows from the end result. For example:

SELECT DISTINCT city FROM employees;

This simple example is basically a nicer looking equivalent to:

SELECT city FROM employees GROUP BY city;

But it goes a bit further than that..

This Tip of the Week is sponsored by Datadog. Monitor custom PostgreSQL metrics with Datadog.

🗓 Upcoming Events