---
title: "Comparing Postgres and SQL Server's indexing approaches"
publication: "Postgres Weekly"
issue: 595
published_at: "2025-04-03"
canonical_url: "https://postgresweekly.com/issues/595"
---

Plus a table inheritance-based debugging technique. |        

#​595 — April 3, 2025 

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

Together with [![logo\](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/webinars/cockroachdb-vs-aurora/)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tcpmnscofpjqcvobjdzq.jpg)](https://pganalyze.com/blog/postgresql-vs-sql-server-btree-index-deduplication)  

[Postgres vs. SQL Server: A Look at B-Tree Index Differences](https://pganalyze.com/blog/postgresql-vs-sql-server-btree-index-deduplication) — Both Postgres and Microsoft’s SQL Server use B-tree indexes as their default indexing mechanism but their approaches differ significantly. Even if you don’t use SQL Server, this is a good look behind the scenes and you’ll pick up a thing or two about how Postgres does things and how deduplication can lead to significant index size reductions. Lukas also compares how Postgres and SQL Server handle other index types too. 

Lukas Fittl   

[The Internals of MVCC: Hidden Costs of Updates vs Inserts](https://medium.com/@rohanjnr44/internals-of-mvcc-in-postgres-hidden-costs-of-updates-vs-inserts-381eadd35844) — Postgres’ multiversion concurrency control (MVCC) features, while incredibly useful, add overhead to certain actions, such as updating, rather than inserting, rows. Rohan digs into the how and why. 

Rohan Reddy Alleti   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/9e8ad795.png)](https://www.cockroachlabs.com/webinars/cockroachdb-vs-aurora/) 

[Running into Limits with Aurora?](https://www.cockroachlabs.com/webinars/cockroachdb-vs-aurora/) — Aurora hits walls with regional HA, failover lag, and manual sharding. CockroachDB speaks Postgres, but goes further — with global consistency, zero-downtime ops, and effortless scale. Watch the side-by-side tech breakdown in this on-demand webinar. 

Cockroach Labs sponsor   

[2025 Postgres Extensions Mini Summit Two](https://justatheory.com/2025/04/mini-summit-two/) — Several Postgres users and developers held a virtual event recently discussing recent progress in adding an ‘extension search path’ feature to Postgres, as a way to make it easier for Postgres installs to discover and pick up newly installed extensions (there’s a [50-minute video](https://www.youtube.com/watch?v=xtnt06zhONk) of the event, but the transcript is good too). 

Wheeler, Eisentraut, Drees et al.   

**IN BRIEF:** 

- 🎤 If you're looking for some Postgres-related interviews to enjoy, [Postgres.fm](https://postgres.fm/) continues to go from strength to strength with recent episodes including [a SQL vs NoSQL discussion](https://postgres.fm/episodes/sql-vs-nosql), a [talk about using snapshots](https://postgres.fm/episodes/snapshots), and [a chat with the creator of PgDog](https://postgres.fm/episodes/pgdog) (and, earlier, PgCat).
- 🇺🇸 [PGDay Chicago](https://2025.pgdaychicago.org/) takes place later this month with tickets still available – [the schedule](https://postgresql.us/events/pgdaychicago2025/schedule/) is now live.
- 🇺🇸 Staying in Illinois, Hettie Dombrovskaya [introduces _Prairie Postgres_](https://hdombrovskaya.wordpress.com/2025/04/02/please-welcome-prairie-postgres/), a new effort to provide Postgres-related events, training, and network opportunities in the American Midwest.   

📊 [RTABench: A Benchmark For Real Time Analytics](https://rtabench.com/) — An [open source](https://github.com/timescale/rtabench/) benchmark built by the Timescale team that differs from many classical database benchmarks by focusing on real-world queries across normalized tables and incremental pre-aggregated materialized views. 

Timescale   

[Debugging Postgres More Easily](https://www.cybertec-postgresql.com/en/debugging-postgresql-more-easily/) — Hans-Jürgen shares a technique for using table inheritance to debug transactions in an interesting way. 

Hans-Jürgen Schönig   

📄 [Building a Real-Time Notification System in Go with Postgres](https://www.finly.ch/engineering-blog/436253-building-a-real-time-notification-system-in-go-with-postgresql) Ravi (Finly) 

📄 [Do Not Expose Port 5432 to the Public Internet](https://thebuild.com/blog/2025/04/02/do-not-expose-port-5432-to-the-public-internet/) Christophe Pettus    

🛠 Code and Tools  

[Autobase 2.2.0: A Self-Hosted DBaas Platform for Postgres](https://github.com/vitabaks/autobase/releases/tag/2.2.0) — For when you want something akin to RDS or Cloud SQL, but on your own hardware. It automates deployment and maintenance, ensuring high availability, scalability, and cost efficiency. v2.2 adds TLS support across all cluster components, ARM compatibility, and automated backups to Hetzner Object Storage. 

Autobase   

[Trunk: A Postgres Extension Registry](https://pgt.dev/) — A Rust-powered open source package installer and registry for Postgres extensions with over 200 extensions already on offer. Trunk was built prior to Tembo’s hiring of PGXN’s David Wheeler to work on improving the Postgres extension ecosystem. [PIG](https://pigsty.io/ext/pig/) is another option in this space. 

Tembo       

📰 Classifieds   

Experienced working with Linux, Kubernetes, and Postgres? [Join pganalyze to transform database performance](https://pganalyze.com/careers/senior-solutions-engineer?source=postgresweeklyclassidied03282025) for top companies worldwide. 

--- 

🐘 [POSETTE: An Event for Postgres](https://posetteconf.com/2025) - June 10-12. Check out the schedule and speakers for this free & virtual event! [Register now >](https://aka.ms/Posette2025/RSVP)      

[pg_sentence_transformer: Run A HuggingFace Sentence Transformer Model in a Background Worker](https://github.com/serpent7776/pg_sentence_transformer) — A prototype extension that starts a background worker and computes embeddings for a given source table and stores them into a newly created embeddings table without using an external LLM service. 

Krzysztof Leśniak    

- [postgres-meta 0.88](https://github.com/supabase/postgres-meta) – A RESTful API for managing Postgres.    

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