---
title: "B-Tree Index Improvements in Postgres 12"
publication: "Postgres Weekly"
issue: 333
published_at: "2019-11-27"
canonical_url: "https://postgresweekly.com/issues/333"
---

This week's PostgreSQL news and tutorials.       

#333 — November 27, 2019 

[Read on the Web](https://postgresweekly.com/issues/333)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/vnc1nuiiqncbwmp32vt1.jpg)](https://www.cybertec-postgresql.com/en/b-tree-index-improvements-in-postgresql-v12/)   

[B-Tree Index Improvements in Postgres 12](https://www.cybertec-postgresql.com/en/b-tree-index-improvements-in-postgresql-v12/) — B-tree indexes have been improved in Postgres v12 - this article describes some easily understood examples. It won’t affect most users but there are some performance benefits, particularly for databases stored on media with poor random read performance (e.g. magnetic storage). 

Laurenz Albe   

[12 Common Mistakes and Missed Optimization Opportunities in SQL](https://hakibenita.com/sql-dos-and-donts) — A lengthy list of SQL “dos and don’ts” covering topics like timezones, ranges, formatting queries, and unions. 

Haki Benita   [![\](https://copm.s3.amazonaws.com/8adb70d4.png)](https://info.enterprisedb.com/WhitepaperMultitenancyOptionsinPostgres.html?utm_source=Cooperpress&utm_medium=ad) 

[Multitenancy Options in Postgres](https://info.enterprisedb.com/WhitepaperMultitenancyOptionsinPostgres.html?utm_source=Cooperpress&utm_medium=ad) — A high-level overview of the Postgres architecture helps provide some contextual understanding of the multitenancy options available with Postgres. Download this white paper to learn more about the three main Postgres multitenancy options. 

EnterpriseDB sponsor   

[How To Get Started with pgBackRest on Postgres 12](https://info.crunchydata.com/blog/how-to-get-started-with-pgbackrest-and-postgresql-12) — [pgBackRest](https://pgbackrest.org/) is a backup and restore tool for Postgres that now takes advantages of some of the new features in Postgres 12. Here’s how to set up and configure it. 

Tom Swartz   

[Deploying and Configuring Postgres with Puppet](https://severalnines.com/database-blog/postgresql-deployment-configuration-puppet) — Runs through the installation and programming of Puppet modules ([Puppet](https://puppet.com/) being a popular open source config management and deployment system) for deploying/configuring your databases. 

Hugo Dias   

[Converting from Asynchronous to Synchronous Replication in PostgreSQL](https://severalnines.com/database-blog/converting-asynchronous-synchronous-replication-postgresql) — Shows you how to install a PostgreSQL Cluster from scratch and convert the asynchronous replication (default) to a synchronous one. 

Sebastian Insausti   

[An Overview of VACUUM Processing in Postgres](https://severalnines.com/database-blog/overview-vacuum-processing-postgresql) 

Kumar Rajeev Rastogi   

[Sum Types for Relational Databases](https://blog.typeable.io/posts/2019-11-21-sql-sum-types.html) — A look at different ways to encode sum types. 

Dmitry Olshansky   

[Waiting for PostgreSQL 13: Allow Invisible PROMPT2 in `psql`](https://www.depesz.com/2019/11/26/waiting-for-postgresql-13-allow-invisible-prompt2-in-psql/) — This is a really minor thing in the grand scheme of things but `psql` in Postgres 13 will make prompts a little nicer when entering multi-line queries. 

Hubert depesz Lubaczewski    

📂**Code and Projects**  

[PGLoader: A Data Loading Tool for Migrating to Postgres](https://github.com/dimitri/pgloader) — A `COPY`-based data loading tool that supports both parallelism and can load in data that may be partially erroneous but without stopping (as `\copy` might). 

Dimitri Fontaine   

[eBook: Best Practices for Optimizing Postgres Query Performance](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=PostgresWeeklySecondary) — Learn how to get a 3x performance improvement on your Postgres database and 500x reduced data loaded from disk in this free pganalyze eBook. 

pganalyze sponsor   

[pg_simdjson: An Extension for Parsing JSON using simdjson](https://github.com/erthalion/pg_simdjson) — This is a prototype/experiment for now but I like seeing things like this out there. This extension uses the high performance [simdjson](https://github.com/lemire/simdjson) parser to (slightly, so far) outperform Postgres’s native JSON parser. 

Dmitry Dolgov   

[pg_query_state: A Module for Query Progress Monitoring](https://github.com/postgrespro/pg_query_state) 

Postgres Professional     

🗓**Upcoming Events** 

- [2Q PGCONF 2019](https://www.2qpgconf.com/) (December 4-5, 2019 in Chicago) — A conference dedicated to exchanging knowledge about the world’s most advanced open source database: PostgreSQL.
- [PgDay SF](https://2020.pgdaysf.org/) (January 21, 2020 in San Francisco) — A 1-day, single-track Postgres event.
- [PgConf.Russia](https://pgconf.ru/2020) (Febuary 3-5, 2020 in Moscow, Russia) — One day of tutorials and two days of talks in three parallel sessions.
- [PGConf India](https://pgconf.in/conferences/pgconfin2020) (Febuary 26-28, 2020 in Bengaluru, Maharashtra, India) — A dedicated training day and a multi-track two-day conference.
- [pgDay Paris 2020](https://2020.pgday.paris/#%2319) (March 26, 2020 in Paris, France) — Learn more about the world’s most advanced open source database among your peers.
- [Swiss PGDay 2020](http://www.pgday.ch/2020/) (June 18-19, 2020 in Switzerland) — A two track conference (one in English, one in German) aimed at the entire Postgres community.         

Curated by [Cooperpress](https://cooperpress.com/), [Peter Cooper](https://twitter.com/peterc), and [Craig Kerstiens](https://twitter.com/craigkerstiens). 

[Change your email address](https://postgresweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://postgresweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
