---
title: "Why GitHub stuck with MySQL over Postgres early on"
publication: "Postgres Weekly"
issue: 495
published_at: "2023-03-01"
canonical_url: "https://postgresweekly.com/issues/495"
---

Plus AWS RDS adds Postgres 15 support, a bevy of psql tips, and we're all going on a Postgres coach holiday. |        

#​495 — March 1, 2023 

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

Together with [![Cockroach Labs\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_740,h_100/e_make_transparent/co_white,e_outline:10/d9sktlkk3ipcaszkhybd.png)](https://www.cockroachlabs.com/blog/netflix-at-cockroachdb/?utm_source=cooperpress&utm_medium=sponsor&utm_campaign=tofu-pipe-cooperpress-2023-Q1&utm_content=blog-history-of-databases-at-netflix-visit-newsletter-0301&utm_term=prosp-postgres-weekly-primary)  

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/efjopgnpybezmhhd9gcb.jpg)](https://tech.marksblogg.com/route-planning-europe-postgresql-pgrouting.html)  

[European Route Planning with Postgres](https://tech.marksblogg.com/route-planning-europe-postgresql-pgrouting.html) — We love Mark because when he discovers a dataset of bus routes across Europe, he fires up Postgres and builds visualizations and a route planner using [pgRouting.](https://pgrouting.org/) There’s nothing particularly novel about this aprooach, but it’s the sort of post you’ll turn to when you need to solve related problems. 

Mark Litwintschik   

[Amazon RDS Now Supports Postgres 15](https://aws.amazon.com/about-aws/whats-new/2023/02/amazon-rds-postgresql-major-version-15/) — [Postgres 15](https://www.postgresql.org/about/news/postgresql-15-released-2526/), which landed last October, is now fully supported in RDS complete with [over 80 extensions.](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html#postgresql-extensions-15x) 

Amazon Web Services   [![\](https://copm.s3.amazonaws.com/bcf9b5eb.jpg)](https://www.cockroachlabs.com/blog/netflix-at-cockroachdb/?utm_source=cooperpress&utm_medium=sponsor&utm_campaign=tofu-pipe-cooperpress-2023-Q1&utm_content=blog-history-of-databases-at-netflix-visit-newsletter-0301&utm_term=prosp-postgres-weekly-primary) 

[The History of Databases at Netflix](https://www.cockroachlabs.com/blog/netflix-at-cockroachdb/?utm_source=cooperpress&utm_medium=sponsor&utm_campaign=tofu-pipe-cooperpress-2023-Q1&utm_content=blog-history-of-databases-at-netflix-visit-newsletter-0301&utm_term=prosp-postgres-weekly-primary) — What does it take, at the infrastructure level, to deliver pixel-perfect and buffer-free streams to millions of concurrent users worldwide? Take a deep dive into the resilient, binge-ready architecture behind the streaming giant’s success. 

CockroachDB sponsor   

[152 `psql` Tips](https://psql-tips.org/psql_tips_all.html) — This was originally _100_ tips when we first included it, but this list of bite-sized tips for the tried and tested `psql` client continues to grow. If you have a `psql` session coming up any time soon, this is worth a browse. It’s also possible to load [a single tip](https://psql-tips.org/psql_tips_055.html) and hop through randomly if you prefer your tips snack-sized. 

Lætitia Avrot   

**IN BRIEF:** 

- ⭐️ Small circumstances often result in long-term outcomes, and it was interesting to see one of GitHub's co-founders explain [🐦 why they stuck with MySQL over Postgres](https://twitter.com/defunkt/status/1623395363708346368) in GitHub's early days.
- Two issues ago we featured [Lukas Fittl's look](https://pganalyze.com/blog/pg-stat-io) at Postgres 16's forthcoming `pg_stat_io` view, now [it's Hubert Lubacz's turn](https://www.depesz.com/2023/02/27/waiting-for-postgresql-16-add-pg_stat_io-view-providing-more-detailed-io-statistics/) with an "everyday DBA" perspective.   

[Getting Started with Stored Procedures](https://www.cybertec-postgresql.com/en/stored-procedures-getting-started/) — Stored procedures are the bread and butter of certain types of database work, but if you haven’t touched them at all, this intro is for you. 

Hans-Jürgen Schönig   

[Can We Make Permissions Management More User-Friendly?](https://hdombrovskaya.wordpress.com/2023/02/26/can-we-make-permissions-management-more-user-friendly/) — Grants and permissions have continued to evolve with new versions of Postgres but there are still some sharp edges and inconsistencies. 

Henrietta Dombrovskaya   

[Storing Trees as Materialized Paths](https://sqlfordevs.com/tree-as-materialized-path) — Storing trees in a database is complicated, but storing them in the form of materialized paths (think of how domains and subdomains essentially represent tree structures – e.g. `mail.example․com`) can simplify being able to query them, at least. 

Tobias Petry   

[`ALTER TABLE … SET WITHOUT OIDS`: A Big Gotcha](https://thebuild.com/blog/2023/02/21/alter-table-set-without-oids-big-gotcha/) — When you drop a column, it gets marked as inactive and that’s that. Unless you use `SET WITHOUT OIDS` which ends up rewriting the whole table and can result in a long running lock. 

Christophe Pettus   

[Postgres Raster Query Basics](https://www.crunchydata.com/blog/postgres-raster-query-basics) — Paul takes us through how rasters (think pixels/cells, as opposed to vectors) are stored and queried with PostGIS and how to think about the challenges they raise. 

Paul Ramsey   

[How to Migrate from Django’s Postgres CI Fields to Using a Case‑Insensitive Collation](https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation/) 
Adam Johnson    

🛠 Code and Tools  

[pgtt 2.10: Manage and Use Oracle-Style Global Temporary Tables](https://github.com/darold/pgtt) — For those situations where you want to reproduce Oracle’s behavior rather than rewrite your code to use standard Postgres temporary tables. 

Gilles Darold   

[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   

- [pg_graphql 1.2](https://github.com/supabase/pg_graphql/releases/tag/v1.2.0)
 ↳ GraphQL support for Postgres.
- [LINQ to DB 5.0](https://github.com/linq2db/linq2db)
 ↳ LINQ to DB provider for type-safe SQL on .NET.
- [Supabase Realtime 2.6](https://github.com/supabase/realtime)
 ↳ Broadcast, presence, and Postgres changes via WebSocket.
- [pg_timetable 5.2](https://github.com/cybertec-postgresql/pg_timetable)
 ↳ Advanced scheduling for Postgres.
- [Norm 2.7](https://github.com/moigagoo/norm)
 ↳ A Nim ORM for SQLite & Postgres.
- [dokku-postgres 1.32](https://github.com/dokku/dokku-postgres)
 ↳ Official plugin for Dokku (open source PaaS).
- [ruby-pg 1.4.6](https://github.com/ged/ruby-pg)
 ↳ Postgres client library for Ruby.    

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