
GIN: Understanding PostgreSQL's Inverted Index and Its Limitations
This series of posts traces the evolution from GIN to RUM to Extended RUM, showing how a single...
DEV CommunityNew blog post! Revisiting an old test shows that Extended RUM now overcomes the RUM/GIN index limitation, thanks to Microsoft’s work on the PostgreSQL extension.
https://dev.to/franckpachot/extended-rum-in-documentdb-extension-for-postgresql-efficient-esr-equality-sort-range-queries-5bkj
Extended RUM in DocumentDB extension for PostgreSQL: Efficient ESR (Equality, Sort, Range) Queries
Last year, I examined RUM indexes within this series on multi-key indexing, demonstrating that they...
DEV Community
Getting Started with pg_durable: Workflows Inside PostgreSQL
Modern applications demand long‑lasting workflows that can withstand crashes, restarts, and failures,...
DEV Community🐘🤓 With no vibe coding at all, not even creating a table, you can start an Active Session History for PostgreSQL that will survive over failovers, in a single command, if you have pg_durable to create a workflow:
At Cloud Toulouse, we presented tips on structuring your JSON documents. One of them is about the advantages of nesting.
🚩 1000 top-level fields is a red flag — don't do that! Neither in BSON nor in OSON - for different reasons. Here's why:
https://dev.to/franckpachot/bson-and-oson-documents-are-designed-to-be-nested-not-flat-3b65

BSON and OSON: documents are designed to be nested, not flat
I like vendors benchmarks as they are often good illustrations of worst practice. Rather than...
DEV CommunityTo $exists or not to $exists — that is the question. A document’s flexible schema can tell missing fields apart from null values, but an index’s fixed key structure cannot distinguish between nonexistent and unknown fields. Here is a new blog post for indexing advice in MongoDB and compatible databases (on AWS, Oracle, PostgreSQL):
https://dev.to/franckpachot/exists-and-non-sparse-indexes-in-mongodb-and-in-other-documentdb-19e3
$exists and non-sparse indexes in MongoDB and in other DocumentDB
In SQL databases, NULL represents an unknown value — not the absence of a value. When a value is...
DEV Community🍃 This is my last day at MongoDB!
Next step: a blue database and a blue cloud 🐘🔹☁️, and see you next week at PG Day France 2026
https://www.linkedin.com/posts/franckpachot_this-is-my-final-week-at-mongodb-over-activity-7465805351750090752-XGIV
🍃 This is my final week at MongoDB! Over the past 14 months, I’ve truly enjoyed exploring why developers may prefer document models over normalized SQL. It makes sense when you consider how… | Franck Pachot | 32 comments
🍃 This is my final week at MongoDB! Over the past 14 months, I’ve truly enjoyed exploring why developers may prefer document models over normalized SQL. It makes sense when you consider how seamlessly documents align with domain-driven design—by persisting entities as aggregates and matching transaction boundaries to the business, especially when your use cases and cardinalities are clearly defined.
🐅 I also loved to geek out on the internals. WiredTiger’s B-tree and cache implementation is a great example of optimizing a database engine for modern storage: multithreading, SSDs, and predictable OLTP performance.
🛢️ My main mission was to connect kindly with NoSQL skeptics and help the convinced users go further. I loved speaking at global events to show that MongoDB and PostgreSQL aren't enemies! They are simply different architectural choices: application-centric vs. database-centric, and both make sense when understood correctly.
🙏🏻 A massive thank you to the amazing DevRel team, as well as product and solution architects. The deep technical expertise of the people here made this journey so much richer, and it was a pleasure to connect product engineering, developers building real-world apps, and customers.
👋🏼 Stay tuned on the same channels—I won’t stop sharing! The adventure continues with more Open Source, more PostgreSQL, some DocumentDB, a dose of GenAI, and the same honest, developer-first focus you're used to. Next step: a blue database and a blue cloud 🐘🔹☁️ | 32 comments on LinkedIn
LinkedIn🐘🌪️ Do you know your default autovacuum thresholds?
❄️🔥 How do they depend on the hot/cold data split?
The scale factor is calculated against the total table size — not your active working set. Cold historical data inflates your thresholds, leaving hot rows with stale statistics and growing bloat.
👇🏼 I ran a small test to visualize the staleness accumulation over time: https://dev.to/franckpachot/the-autovacuum-scale-factor-problem-at-scale-know-your-defaults-5a9o

The Autovacuum Scale Factor Problem at Scale - Know Your Defaults
In PostgreSQL, autovacuum and autoanalyze exist to clean up dead tuples (old versions of...
DEV Community🐘🍸🍹 RUM indexes may be better than GIN when covering filters and order by pagination: