---
title: "How to work on the Postgres source code"
publication: "Postgres Weekly"
issue: 490
published_at: "2023-01-25"
canonical_url: "https://postgresweekly.com/issues/490"
---

Plus creating an interesting constraint, a foreign key gotcha, and an essential Aurora upgrade. |        

#​490 — January 25, 2023 

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

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://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw)  

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yjqv1oyzv4i9tozc8y6b.jpg)](https://www.youtube.com/watch?v=h-t1NJ49Q2s&list=PLiT-kUSX8USXMSdIeV9QZTrem57h_Ksut&index=24)  

▶[30+ Talks from PGConf NYC 2022](https://www.youtube.com/playlist?list=PLiT-kUSX8USXMSdIeV9QZTrem57h_Ksut#pgconfnyc2022) — We forgot to include this in December, but it’s still a good set of talks now whether it’s learning [how to secure Postgres](https://www.youtube.com/watch?v=tOCCmIq8sYw&list=PLiT-kUSX8USXMSdIeV9QZTrem57h_Ksut&index=7) with Bruce Momjian, [figuring out isolation](https://www.youtube.com/watch?v=WiQ-NTRzu_A&list=PLiT-kUSX8USXMSdIeV9QZTrem57h_Ksut&index=14) with Lætitia Avrot, or learning [more about the MERGE command](https://www.youtube.com/watch?v=h-t1NJ49Q2s&list=PLiT-kUSX8USXMSdIeV9QZTrem57h_Ksut&index=24) with Simon Riggs (as in the image above). 

United States PostgreSQL Association   

[A Unique Constraint Where NULL Conflicts with Everything](https://www.cybertec-postgresql.com/en/unique-constraint-null-conflicts-with-everything/) — Laurenz showcases range data types and _exclusion_ constraints in creating what appears, on the surface, to be an unusual uniqueness constraint. Some good left field thinking here. 

Laurenz Albe   [![\](https://copm.s3.amazonaws.com/4cdca765.png)](https://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw) 

[Join Us for Season 2 of Our “5mins of Postgres” Video Series](https://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw) — After over 50 episodes in 2022, we are happy to get started with season 2 of 5mins of Postgres. Join pganalyze CEO Lukas Fittl for weekly videos on the most noteworthy Postgres content. [Subscribe to our YouTube channel](https://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw) and enjoy tomorrow's episode! 

pganalyze sponsor   

[Puzzling Postgres: A Story of Solving An Unreproducible Performance Issue](https://medium.com/engineering-at-birdie/puzzling-postgres-a-story-of-solving-an-unreproducible-performance-issue-778075ed7998) — Going down the rabbit hole of query plans and prepared statements. _“We had a query that was particularly slow in production, but it was very hard to reproduce as we didn’t know our ORM was using prepared statements under the hood and nothing was looking problematic with a simple EXPLAIN ANALYZE.”_ 

William Duclot   

▶[Walkthrough of Implementing a Simple Postgres Patch](https://www.youtube.com/watch?v=rihfAnd_leM) — If you’ve ever been curious about what’s involved in hacking directly on Postgres, this is an interesting walkthrough of tweaking how b-tree search works and turning that into a usable patch. _(15 minutes.)_ 

Andrey Borodin   

**IN BRIEF:** 

- The Postgres core team has published [a high level report of its activities in 2022](https://www.postgresql.org/developer/corereports/january2022_december2022/) including handling trademark disputes, code of conduct changes, and a decision made around the time zone database.
- The latest version of TimescaleDB [brings a job scheduler into Postgres.](https://www.timescale.com/blog/the-postgresql-job-scheduler-you-always-wanted-but-be-careful-what-you-ask-for/)
- Amazon Aurora now [supports Postgres 14.6, 13.9, 12.13, and 11.18.](https://aws.amazon.com/about-aws/whats-new/2023/01/amazon-aurora-supports-postgresql-versions/) Aurora users still using Postgres 10 are also reminded they must upgrade within the next week.
- The _Replit_ online REPL/dev environment platform has [added direct support for Postgres databases](https://blog.replit.com/postgresql-db-launch) through a partnership with serverless Postgres platform [Neon.](https://neon.tech/)   

[A Foreign Key Pathology to Avoid](https://thebuild.com/blog/2023/01/18/a-foreign-key-pathology-to-avoid/) — If you have a many-to-many join table with defined foreign key relationships, a large number of inserts can have unexpected effects when locking parent records. 

Christophe Pettus   

[[Free Download\] Understanding Databases eBook](https://www.linode.com/content/understanding-databases-ebook/?utm_source=postgres_weekly&utm_medium=newsletter_sponsorship&utm_campaign=newsletter_sponsorship-postgres_weekly-dbaas&utm_content=&utm_term=) 

Linode sponsor   

[A Look into WAL Compression and Recent Improvements in Postgres 15](https://www.percona.com/blog/wal-compression-in-postgresql-and-recent-improvements-in-version-15/) — Taking another look at the built-in [WAL compression](https://www.postgresql.org/docs/9.5/runtime-config-wal.html#GUC-WAL-COMPRESSION) feature because Postgres 15 has even more to offer than in previous versions. 

Jobin Augustine   

[Debugging Postgres CI Failures Faster](https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/debugging-postgresql-ci-failures-faster-4-tips/ba-p/3718371) — Postgres uses Cirrus CI for its continuous integration system. 

Nazir Bilal Yavuz    

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dob4qems2ztskrpy5z6u.jpg)](https://github.com/cybertec-postgresql/pg_show_plans)  

[pg_show_plans: Show Query Plans of All Currently Running Statements](https://github.com/cybertec-postgresql/pg_show_plans) — Lets you get live access via `SELECT * FROM pg_show_plans` or you can join it against `pg_stat_activity` as demonstrated in the README. 

CYBERTEC PostgreSQL International GmbH   

[pg_qualstats: Extension for Collecting Statistics About Predicates](https://github.com/powa-team/pg_qualstats) — Analyze the most often used predicates in queries against your database, perhaps as a way to create the most effective indexes possible. Part of the [POWA (PostgreSQL Workload Analyzer) project.](https://powa.readthedocs.io/en/latest/) 

Powa Team   

- [Parquet S3 FDW 1.0](https://www.postgresql.org/about/news/parquet-s3-fdw-100-released-2571/)
 ↳ FDW for Parquet files on Amazon S3.
- [Supabase Realtime 2.3](https://github.com/supabase/realtime)
 ↳ Broadcast, presence, and Postgres changes via WebSockets.
- [Aquameta 0.3](https://github.com/aquametalabs/aquameta)
 ↳ Experimental web stack built mostly on PL/pgSQL.
- [postgres-meta 0.60](https://github.com/supabase/postgres-meta)
 ↳ RESTful API for managing Postgres.
- [PGSpider 3.0](https://www.postgresql.org/about/news/high-performance-sql-cluster-engine-pgspider-300-released-2573/)
 ↳ SQL Cluster Engine for distributed big data.
- [TimescaleDB 2.9.2](https://github.com/timescale/timescaledb)
 ↳ Time-series SQL database as a Postgres extension.
- [QuestDB 6.7](https://github.com/questdb/questdb)
 ↳ Java-based time-series database with Postgres wire protocol support.    

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