---
title: "How medium-sized text columns can impact table performance"
publication: "Postgres Weekly"
issue: 378
published_at: "2020-10-21"
canonical_url: "https://postgresweekly.com/issues/378"
---

Plus more news, tutorials, and tips from the Postgres world this week.       

#378 — October 21, 2020 

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

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1603287031/wmzplionqwayyadqvdq1.jpg)](https://hakibenita.com/sql-medium-text-performance)  

[The Surprising Impact of Medium-Size Texts on Performance](https://hakibenita.com/sql-medium-text-performance) — You’ve got your small text (usernames, emails), large text (entire documents), and your ‘medium’ text (comments, descriptions).. While [TOAST](https://www.postgresql.org/docs/9.5/storage-toast.html) brings efficiencies to storing larger documents, medium-sized columns can make rows very wide and affect performance disproportionately. A rather neat deep dive complete with examples. 

Haki Benita   

[30 Years of Continuous Postgres Development with Bruce Momjian](https://www.enterprisedb.com/blog/questions-answers-with-postgresql-core-team-member-about-development-process-releases-open-source-software) — It’s a brief interview, but Bruce shares a few tidbits about the Postgres development process, quality, and how features make it in. 

Scott Grant   [![\](https://copm.s3.amazonaws.com/8c75d09b.png)](https://resources.2ndquadrant.com/highly-available-postgresql-clusters-whitepaper?utm_campaign=Highly%20available%20PostgreSQL%20clusters&utm_source=CooperPress_HighlyAvailablePostgresClustersWhitepaper-M_Oct21) 

[[Whitepaper\] Achieving High Availability with PostgreSQL](https://resources.2ndquadrant.com/highly-available-postgresql-clusters-whitepaper?utm_campaign=Highly%20available%20PostgreSQL%20clusters&utm_source=CooperPress_HighlyAvailablePostgresClustersWhitepaper-M_Oct21) — Critical business applications require availability of their backend database cluster. Discover how to setup & deploy enterprise-grade High Availability of up to four 9s. Learn the features and benefits in the Highly Available Postgres Clusters Whitepaper. 

2ndQuadrant PostgreSQL Products sponsor    

[PostgresConf.CN and PGConf.Asia 2020 Taking Place Online (November 17-20)](https://2020.postgresconf.cn/en) 
China PostgreSQL Association   

[Tuning Your Postgres Database for High Write Loads](https://info.crunchydata.com/blog/tuning-your-postgres-database-for-high-write-loads) — If you set up a database as a proof of concept or to fit an initially small workload, problems can occur once things scale up including warnings like “checkpoints are occurring too frequently”. What’s going on and what can be tweaked? 

Tom Swartz   

[How Postgres Stores 'null' Values](https://www.highgo.ca/2020/10/20/the-way-to-store-null-value-in-pg-record/) — Good news – you almost certainly don’t need to know this, but _intrigue_ always gets the better of me.. 

Movead Li   

[Multicorn: Python Powered Foreign Data Wrappers](https://multicorn.org/) — Mulitcorn _is_ a FDW but which comes with a variety of customizable subwrappers (for things like SQLAlchemy, RSS, working with the file system, or SQLite) that you can adjust.. or write your own. 

Kozea   

[pgFormatter: A Postgres SQL Syntax Beautifier](https://github.com/darold/pgFormatter) — ..that can work from the terminal or on a Web server via CGI. [Demo here](http://sqlformat.darold.net/). 

Gilles Darold   

[Prisma’s Data Guide: PostgreSQL](https://www.prisma.io/dataguide/postgresql) — Introductory PostgreSQL tutorials: learn how to configure and use Postgres to take advantage of its best features. 

Prisma sponsor   

[Logical Replication Upgrade in Postgres](https://info.crunchydata.com/blog/logical-replication-upgrade-in-postgres) 
James Chanco Jr.   

[Working with Data Consistency Issues in Logical Replication](https://elephanttamer.net/?p=43#datainc) 
Elephant Tamer   

[How to Upgrade PostgreSQL 11 to PostgreSQL 12 with Zero Downtime](https://severalnines.com/database-blog/how-upgrade-postgresql-11-postgresql-12-zero-downtime) — using logical replication.       

💡**Tip of the Week** 

Comparing the feature sets of different Postgres versions 

While releases aren't at a Chrome or Node-esque pace, Postgres nonetheless has numerous versions that are still in production and their featuresets overlap in various interesting ways. 

Other than reading Postgres Weekly every week and memorizing all of the articles about each version, how can you keep up with _how_ the versions of Postgres differ? 

Enter: [the Feature Matrix!](https://www.postgresql.org/about/featurematrix/)  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1603285176/aatrmu6keidv6g8qcbdr.png)](https://www.postgresql.org/about/featurematrix/)   

Covering hundreds of subpoints across categories like performance and partitioning, the matrix lets you get a simple yes or no answer to what features each significant version of Postgres contains. 

_Thanks to [Nikolay Samokhvalov](https://twitter.com/samokhvalov/status/1318632561606733824) for bringing this to our attention (and he has two other great resources on that Twitter thread too)._      

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

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

**Want more?** You might like [DB Weekly](https://dbweekly.com/?utm_source=pg&utm_medium=email&utm_campaign=footer-promo), our more general database newsletter covering data storage trends, new database types, and more. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://postgresweekly.com/leave/*|UID|*)
