---
title: "The state of full-text search in Postgres 12"
publication: "Postgres Weekly"
issue: 341
published_at: "2020-02-05"
canonical_url: "https://postgresweekly.com/issues/341"
---

This week's Postgres news, views, and tools.       

#341 — February 5, 2020 

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

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ptxjxrxaxroft1w5ja1h.jpg)](https://www.youtube.com/watch?v=c8IrUHV70KQ)   

▶[The State of (Full) Text Search in Postgres 12](https://www.youtube.com/watch?v=c8IrUHV70KQ) — A _fantastic_ 50 minute talk from FOSDEM covering the ins and outs of Postgres 12’s full text search capabilities. The audio is a little clippy here and there but there’s a _lot_ of great stuff packed into this talk and the [(very) detailed slides are here.](https://fosdem.org/2020/schedule/event/postgresql_the_state_of_full_text_search_in_postgresql_12/attachments/slides/4138/export/events/attachments/postgresql_the_state_of_full_text_search_in_postgresql_12/slides/4138/FTS.pdf) 

Jimmy Angelakos   

[Row Change Auditing Options for Postgres](https://www.cybertec-postgresql.com/en/row-change-auditing-options-for-postgresql/) — If you want to build up an ‘audit trail’ for all row changes made to a table over time, here’s a look at the pros and cons of ways to pull it off. 

Kaarel Moppel   [![\](https://copm.s3.amazonaws.com/edd078ca.jpg)](https://www.cockroachlabs.com/blog/cockroachdb-for-django/?utm_campaign=cooperpress-2020-Q1&utm_source=postgresweekly&utm_medium=newsletter&utm_content=cockroachdb-for-django/) 

[Build a Django App on CockroachDB](https://www.cockroachlabs.com/blog/cockroachdb-for-django/?utm_campaign=cooperpress-2020-Q1&utm_source=postgresweekly&utm_medium=newsletter&utm_content=cockroachdb-for-django/) — Django simplifies interactions with a database – it’s one of the reasons it’s become the most popular Python web framework. Use CockroachDB and Django for the ease of writing in Python while getting all the benefits of an open source, distributed SQL database. 

Cockroach Labs sponsor   

[The Most-Neglected Postgres Feature?](https://richyen.com/postgres/2020/01/29/underestimating_log.html) — I don’t know about ‘neglected’ but this is an interesting post about using `log_line_prefix` to build smarter log files. 

Richard Yen   

[Three Job Scheduling Tools for Postgres](https://severalnines.com/database-blog/overview-job-scheduling-tools-postgresql) — Last week we featured [pg_timetable](https://www.cybertec-postgresql.com/en/pg_timetable-advanced-postgresql-job-scheduling/), a new, advanced job scheduler for Postgres jobs, but there are other solutions including good old cron, pgAgent and the pg_cron extension. 

Severalnines   

[Postgres 12 Now Generally Available on Heroku](https://blog.heroku.com/posgtresql-12) — Big news if you’re using the Heroku platform (and Heroku’s is one of the biggest Postgres deployments in the world). Postgres 12 is now the _default_ version used for new Heroku Postgres databases. 

Heroku   

[Amazon Relational Database Service (RDS) Can Now Export Snapshots to S3](https://aws.amazon.com/about-aws/whats-new/2020/01/announcing-amazon-relational-database-service-snapshot-export-to-s3/) — You can now export Amazon Relational Database Service (Amazon RDS) or Amazon Aurora snapshots to Amazon S3 as Apache Parquet, an efficient open columnar storage format for analytics. 

Amazon Web Services   

[NULL Values in SQL Queries](https://mitchum.blog/null-values-in-sql-queries/) — The concept of `NULL` values in SQL queries often causes trouble for developers and this post deftly explains their special status and how it can affect queries. Aimed at Oracle users but all applies to Postgres too. 

Kaley Crum   

[Checking Catalogues for Corruption with `pg_catcheck`](https://fluca1978.github.io/2020/01/30/PostgreSQL_pgcatcheck.html) 

Luca Ferrari   

[Faster CI/CD for All Your Software Projects Using Buildkite](https://buildkite.com/?pk_campaign=pgweekly-050220&pk_source=cp-pgweekly&pk_medium=newsletter) — See how Shopify scaled from 300 to 1500 engineers while keeping their build times under 5 minutes. 

Buildkite sponsor   

[PL/pgSQL Package to Get Holiday Dates](https://github.com/christopherthompson81/pgsql_holidays) — For example: `SELECT * FROM holidays.by_country('canada', 2020, 2020);` 

Christopher Thompson   

[PostGIS 3.1 Alpha 1 Released](http://postgis.net/2020/02/02/postgis-3.1.0alpha1/) — One for the edgiest of PostGIS users only. Aimed at Postgres 12.1 but works with the under-development Postgres 13 branch too. 

PostGIS Developers      supported by [![PostgresConf\](https://res.cloudinary.com/cpress/image/upload/v1580736678/cttmroruvfsupeor4bug.png)](https://postgresconf.org/conferences/2020)  

💡**Tip of the Week** 

`\pset` in `psql` for formatting output 

We've included a lot of `psql` tips in the newsletter over the past couple of years, but there's always more to share given how mature and feature packed `psql` is. Today, we're going to quickly look at `\pset`, a command designed for setting _output formatting options._ 

A full list of options is included in the [psql documentation](https://www.postgresql.org/docs/9.2/app-psql.html) so we're going to focus on a few examples: 

`\pset null 'ø'` makes `psql` show null values as the `ø` character (similar to the 'empty set' symbol) instead of as an easily missed blank space.  

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/utt8rsg6s07hrv31ax0p.jpg)   

`\pset linestyle` and `\pset border` let you change the way that borders are placed (or not) around results tables:  

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580905537/nze8cair0kaqnfs2rdow.png)   

And a relatively new feature is that running `\pset` without any arguments at all will present a list of all the various settings and their current values.. so feel free to have a play.  

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580905693/og6oiuzhv3bmpprfxbqz.png)   

This week's tip is sponsored by [PostgresConf](https://postgresconf.org/conferences/2020). Postgres Conference 2020: The largest gathering about [People, Postgres, and Data](https://postgresconf.org/conferences/2020). Join 800+ attendees and 100+ speakers to build opportunities for the global Postgres ecosystem.      

🗓**Upcoming Events** 

- [PgConf India](https://pgconf.in/conferences/pgconfin2020) (Febuary 26-28 in Bengaluru, India) — A dedicated training day and a multi-track two-day conference.
- [Postgres Conference 2020](https://postgresconf.org/conferences/2020) (March 23-27 in New York, United States) — A broad and large scale (indeed, the largest, they say) Postgres event.
- [Nordic PgDay 2020](https://2020.nordicpgday.org/) (March 24 in Helsinki, Finland)
- [pgDay Paris 2020](https://2020.pgday.paris/#%2319) (March 26 in Paris, France) — [The schedule for this event](https://www.postgresql.eu/events/pgdayparis2020/schedule/) is now available.
- [Swiss PGDay 2020](http://www.pgday.ch/2020/) (June 18-19 in Switzerland) — A two track conference (one in English, one in German) aimed at the entire Postgres community. 

If you are running a Postgres related event that's beyond the scale of a small local meetup or user group (so, say, 50+ people with people likely to travel to your event from afar), let us know and we can include it here in future issues.         

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
