---
title: "Don't do this in Postgres (but do open this newsletter)"
publication: "Postgres Weekly"
issue: 584
published_at: "2025-01-16"
canonical_url: "https://postgresweekly.com/issues/584"
---

Plus Postgres joins Garfunkel, Messina, Oates and Lisa at number two. |        

#​584 — January 16, 2025 

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

Together with [![pgAnalyze\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/lhwcvgc1asd4fzaahty4.png)](https://pganalyze.com/tools/postgres-vendor-evaluation-template?utm_source=PostgresWeeklyExclusivePrimary01162025)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/j3ist8tv2e3hd5e19jo2.jpg)](https://wiki.postgresql.org/wiki/Don%27t_Do_This)  

[Don't Do This (in Postgres)](https://wiki.postgresql.org/wiki/Don%27t_Do_This) — An interesting page on the official Postgres wiki that rounds up a variety of advice around ‘common mistakes’ in using Postgres and what _not_ to do, such as _“Don’t use `char(n)`”_ and _“Don’t use `serial`“_. Some of these will be contentious, but are well backed up with reasons. The page _is_ updated, but it’d be nice to see more added. 

Postgres Wiki   

[The Power of Open Source in Postgres](https://www.cybertec-postgresql.com/en/the-power-of-open-source-in-postgresql/) — Laurenz demonstrates how Postgres’ open source nature is invaluable when it comes to answering questions about how it operates, in case by tracking down the reason for the default setting for `autovacuum_vacuum_scale_factor`. Knowing how to do what he does in this post is a valuable skill. 

Laurenz Albe   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4febe091.png)](https://pganalyze.com/tools/postgres-vendor-evaluation-template?utm_source=PostgresWeeklyExclusivePrimary01162025) 

[Find the Best Postgres Monitoring & Tuning Vendor for 2025](https://pganalyze.com/tools/postgres-vendor-evaluation-template?utm_source=PostgresWeeklyExclusivePrimary01162025) — Download our free Vendor Evaluation Template to swiftly compare features, score demos, and confidently pick the best Postgres performance & monitoring solution to meet your 2025 budget needs. 

pganalyze sponsor   

**QUICK BITS:** 

- 🇧🇪 [FOSDEM PGDay](https://2025.fosdempgday.org/) is a Postgres-focused side event at the forthcoming annual [FOSDEM](https://fosdem.org/2025/) event. It takes place in Brussels, Belgium on January 31 and [registration is still open.](https://2025.fosdempgday.org/registration/)
- 🥈 Curiously, [DB-Engines](https://db-engines.com/en/) announced earlier that Postgres was their [Database Management System of the Year 2024](https://db-engines.com/en/blog_post/109), but then in recent hours this has been corrected to Snowflake, putting Postgres at number two. (This was originally our lead feature, but being number two doesn't have the same ring to it..? 😅)
- [SQL Squid Game](https://datalemur.com/sql-game) is a _Squid Game_-themed nine-level SQL challenge.   

[The Anatomy of Table-Level Locks](https://xata.io/blog/anatomy-of-locks) — A look at the meaning and motivation behind locking in database systems, before more closely looking at the various ways tables can be locked in Postgres and how conflicts between these locks are resolved. 

Gulcin Yildirim Jelinek   

[Idle Transactions Cause Table Bloat? Wait, What?](https://stormatics.tech/blogs/idle-transactions-cause-table-bloat-wait-what) — _“Yup, you read it right. Idle transactions can cause massive table bloat that the vacuum process may not be able to address.”_ 

Umair Shahid   

📄 [Postgres 18 to Let You Change the Max Number of Autovacuum Workers on the Fly](https://www.dbi-services.com/blog/postgresql-18-change-the-maximum-number-of-autovacuum-workers-on-the-fly/) Daniel Westermann 

📄 [The Importance of Testing with Not-So-Usual Setups](https://fluca1978.github.io/2025/01/16/pgagroalPortLengthBug.html) – A lesson learnt tracing down a bug in the [pgagroal](https://github.com/agroal/pgagroal) connection pooler. Luca Ferrari 

📄 [Waiting for Postgres 18: Enable `BUFFERS` with `EXPLAIN ANALYZE` by Default](https://www.depesz.com/2025/01/15/waiting-for-postgresql-18-enable-buffers-with-explain-analyze-by-default/) Hubert depesz Lubaczewski 

📄 [Waiting for Postgres 18: Support `LIKE` with Nondeterministic Collations](https://www.depesz.com/2025/01/10/waiting-for-postgresql-18-support-like-with-nondeterministic-collations/) Hubert depesz Lubaczewski 

📄 [Why Quantum-Safe Postgres is Critical Today](https://www.postgresql.fastware.com/blog/why-quantum-safe-postgresql-is-critical-today) Timothy Steward (Fujitsu)    

🛠 Code and Tools  

[pg_mooncake: Fast Columnstore Tables in Postgres for Analytics](https://github.com/Mooncake-Labs/pg_mooncake) — A Postgres extension that adds columnar storage and vectorized execution (using DuckDB) for fast analytics within Postgres. Columnstore tables are stored as Iceberg or Delta Lake tables on the local file system or cloud storage. [v0.1](https://github.com/Mooncake-Labs/pg_mooncake/releases/tag/v0.1.0) just landed. 

Mooncake Labs   

🐕 [pgDog: A New Rust-Powered Postgres Query Router and Proxy](https://pgdog.dev/) — The main developer of the [PgCat](https://github.com/postgresml/pgcat) Postgres pooler has shifted to working on this dog-themed ‘spiritual successor’ that offers similar pooling, load balancing, and proxying, but with a plugin system and an AGPL license (PgCat is MIT). 

Lev Kokotov   

[Ruby Active Record Adapter for AWS Aurora DSQL](https://github.com/sj26/activerecord-dsql-adapter) — The “very beginnings” of an Active Record (Ruby on Rails) connection adapter for Amazon’s new [Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/what-is-aurora-dsql.html) database (essentially a Postgres-compatible serverless, distributed database service). 

Samuel Cochran   

- [IvorySQL 4.2](https://github.com/IvorySQL/IvorySQL/releases/tag/IvorySQL_4.2) – A fully featured, open source Oracle compatible Postgres implementation, now with more Postgres 17.1 and 17.2 enhancements.
- 🤖 [pgai 0.4](https://github.com/timescale/pgai/releases/tag/pgai-v0.4.0) – Timescale's tools to work with RAG and LLMs in Postgres.
- [node-pg-migrate 7.9](https://github.com/salsita/node-pg-migrate) – Database migration management from Node.js.
- [ParadeDB 0.14](https://docs.paradedb.com/changelog/0.14.0) – Postgres for search and analytics.
- [pgBouncer 1.24.0](https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_24_0) – Popular connection pooler.   

🪙 A reward for contributing to Postgres 

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/v1737038472/eiyt8bwg12yjkywcfmpb.png)  

[Over on LinkedIn,](https://www.linkedin.com/feed/update/urn:li:activity:7283269116059103234/) I noticed Postgres contributor Andrew Atkinson shared an image of the latest Postgres contributors coin he received (above). Such [Contributor Gifts](https://wiki.postgresql.org/wiki/Contributor_Gifts) have been given out for many years to people who've contributed towards a major release of Postgres and you can see [the latest recipients here.](https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-ACKNOWLEDGEMENTS) 

Congratulations to everyone, and perhaps this could inspire others to get more involved with Postgres? It's a neat accolade! 😀    

**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|*).
