---
title: "The Postgres rabbit hole goes deep"
publication: "Postgres Weekly"
issue: 498
published_at: "2023-03-22"
canonical_url: "https://postgresweekly.com/issues/498"
---

Plus how Postgres experts started out, Heroku gets Postgres 15, and running Postgres in the browser? |        

#​498 — March 22, 2023 

[Web Version](https://postgresweekly.com/issues/498)  

Together with [![Sticker Mule\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_330,h_112/e_make_transparent/co_white,e_outline:5/glyygzju08rfcfwf2sxw.png)](https://jobs.ashbyhq.com/stickermule?utm_source=Cooperpress)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ngpajir8k2yk7a5gbfit.jpg)](https://www.crunchydata.com/blog/easy-postgresql-time-bins)  

[Easy Postgres Time Bins](https://www.crunchydata.com/blog/easy-postgresql-time-bins) — Some tricks to ‘bin’ time-based data for generating useful graphs and reports. With functions like `generate_series()`, `width_bucket()`, `floor()`, and `date_bin()`, you can group data sets in different ways and quickly retrieve query-based reports. 

Paul Ramsey   [![\](https://copm.s3.amazonaws.com/6c000656.png)](https://jobs.ashbyhq.com/stickermule?utm_source=Cooperpress) 

[Site Reliability Engineer And Software Engineer C++](https://jobs.ashbyhq.com/stickermule?utm_source=Cooperpress) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 

Stickermule sponsor    

[Announcing Postgres 15 on Heroku](https://blog.heroku.com/announcing-postgresql-15-on-heroku) — Once the front runner in providing a managed Postgres service, Heroku has now brought Postgres 15 on board for all new apps going forward and you’re encouraged to upgrade ASAP if you’re using 9.6 or 10. 

Heroku   

**IN BRIEF:** 

- ❄️ The Postgres project has [announced the Postgres 16 release management team](https://www.postgresql.org/message-id/flat/9fbe60ec-fd1b-6ee0-240d-af7fc444223d@postgresql.org) which includes Alvaro Herrera, Amit Kapila, and Jonathan Katz. The feature freeze for Postgres 16 is due to occur on April 8, a date which the team is considering adopting every year going forward.
- On Hacker News, there was a discussion about [how Postgres experts started their careers.](https://news.ycombinator.com/item?id=35249259) I find the [Postgres Person of the Week interviews](https://postgresql.life/categories/interviews/) useful for this too. As one commenter [noted:](https://news.ycombinator.com/item?id=35254934) _"Most are novices that have no idea how far the rabbit hole goes. I’ve been using Postgres for about 25 years and every time I go to implement something with it I learn something new."_
- Talking of Postgres interviews, this week it's [Chris Travers' turn.](https://postgresql.life/post/chris_travers/) He's been working with Postgres since v6.5 in 1999(!), now works at Timescale, and does cool things like [explaining what happened in recent Postgres commitfests.](https://www.timescale.com/blog/a-postgresql-developers-perspective-six-interesting-patches-from-novembers-commitfest/)   

[Table Maintenance after Bulk Modifications](https://sqlfordevs.com/table-maintenance-bulk-modification) — Making large modifications to tables can skew the _statistics_ used by Postgres’s query planner, so recalculating these statistics can be a wise move after making such changes. `ANALYZE table_name` to the rescue. 

Tobias Petry   

[How Collation Works](http://peter.eisentraut.org/blog/2023/03/14/how-collation-works) — _Collation_ refers to the rules around how a system should compare and sort strings. Here, Peter Eisentraut explains how collations work in Postgres and the role of Unicode in defining collation standards. 

Peter Eisentraut   

[DELETE vs. TRUNCATE](https://www.cybertec-postgresql.com/en/postgresql-delete-vs-truncate/) — Find out how `DELETE` and `TRUNCATE` differ when you want to get rid of data. The main difference is between operating at the row and table level. 

Hans-Jürgen Schönig   

[Basic Time-Series Data with Rails and Postgres](https://census.dev/blog/time-series-data-with-ruby-on-rails-and-postgres) — A good place to start if you are dealing with time-series data and aren’t ready to jump to something more dedicated. 

Saad Syed (Census Engineering)    

🛠 Code and Tools  

[pgwarehouse: Sync a Postgres Database to a Snowflake or Clickhouse Warehouse](https://github.com/scottpersinger/pgwarehouse) — The author said on Hacker News: _“Built this recently to help a friend setup a Snowflake warehouse from their Postgres database. Also tested it with ClickHouse which is cool for running locally. Uses simple COPY which is fast and doesn’t require binlog access, but doesn’t support real-time replication as a result.”_ 

Scott Persinger   

[Tuple, a Lightning-Fast Pairing Tool Built for Remote Developers](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=sponsorship-blitz&utm_content=Postgres+Weekly_Brief+Link) 

Tuple sponsor   

[PgLock 1.0: Use Advisory Locks to Isolate Code Execution Across Machines](https://github.com/heroku/pg_lock) — Aimed at Rubyists, but it’s interesting to see Postgres so directly used to manage locks across non-database related processes. 

Heroku   

[Frenzy: Postgres Wire Protocol Aware Mirroring Proxy](https://github.com/kellabyte/frenzy) — It’s early days for this Go-based Postgres proxy, but it’s fun to see something at this stage that does actually work and may be useful if you need to build something similar of your own.. _“It’s suuuuuper hacky but in 2 hours of work I was able to proxy some queries!”_ 

Kelly Sommers   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/q2h9ahaj4godbvervr9f.jpg)](https://github.com/dalibo/pg_activity)  

- [pg_activity 3.3](https://github.com/dalibo/pg_activity)
 ↳ `top`-like Postgres server activity monitoring.
- [PostgreSQL JDBC 42.6.0](https://www.postgresql.org/about/news/postgresql-jdbc-4260-released-2613/)
- [PostgreSQL Server Exporter 0.12](https://github.com/prometheus-community/postgres_exporter)
 ↳ Server metrics exporter for Prometheus.
- [PostgresML 2.3](https://github.com/postgresml/postgresml)
 ↳ Machine learning from SQL.
- [pgModeler 1.0.2](https://github.com/pgmodeler/pgmodeler)
 ↳ Visual data modelling tool.
- [pg-anonymizer 0.7](https://github.com/rap2hpoutre/pg-anonymizer)
 ↳ Export your database with sensitive data anonymized.
- [trdsql 0.11.1](https://github.com/noborus/trdsql)
 ↳ Execute Postgres-style SQL on CSV, JSON, etc.    

**Got a new email?** You can [change your address here](https://postgresweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Postgres Weekly](https://postgresweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. Thanks! 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada. 

[Stop getting this newsletter.](https://postgresweekly.com/leave/*|UID|*)
