Postgres: Debian Buster is going to cause some reindexing headaches

Created on 17 May 2019  路  5Comments  路  Source: docker-library/postgres

See https://lists.debian.org/debian-glibc/2019/03/msg00030.html, https://bugs.debian.org/926627, and https://salsa.debian.org/ddp-team/release-notes/commit/ad75c4b for some context.

When upgrading from stretch to buster, the glibc locale data is upgraded.
Specifically, this changes how PostgreSQL sorts data in text indexes.
To avoid corruption, such indexes need to be REINDEXed
immediately after upgrading the locales or
locales-all packages, before putting back the database
into production.

Suggested command: sudo -u postgres reindexdb --all

I'm not entirely sure how we're going to handle this, but it does mean it won't be reasonable for us to simply upgrade the images from Stretch to Buster once Buster is released. :confused: :disappointed:

Most helpful comment

https://wiki.postgresql.org/wiki/Locale_data_changes is a great link for explaining the problem in more detail 馃憤

All 5 comments

Comparing https://www.postgresql.org/support/versioning/ to https://wiki.debian.org/LTS/, Debian Stretch is officially supported until 2020 with LTS support until June 2022, which gives us coverage for all of 9.x and almost all of 10.x (June to November is the window we're looking at there). PostgreSQL 11 is going to be a little more difficult to manage.

So we need some kind of transition plan for users of PostgreSQL 10 and 11 in place before June 2022.

https://wiki.postgresql.org/wiki/Locale_data_changes is a great link for explaining the problem in more detail 馃憤

Hi there!

Why not create new tags like 10-stretch, 10-buster and so on?

Like Docker Redis does :

We've been avoiding that because we don't want the added maintenance burden of multiple bases nor do we think that actually provides significant value when weighed against the added confusion for end-users.

Looking at the example of Redis -- if you look at https://github.com/docker-library/redis, you'll see that we only maintain a single base for each version, and so the tagging merely reflects the base that exists. If we were to apply that here, we would add a 10-stretch tag alias, but we would not create 10-buster.

Hi there! Any news?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

andrewvo148 picture andrewvo148  路  3Comments

TJM picture TJM  路  4Comments

AndriiOmelianenko picture AndriiOmelianenko  路  4Comments

phanikumarp picture phanikumarp  路  3Comments

roks0n picture roks0n  路  4Comments