Re: Collation versioning
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Christoph Berg <myon@debian.org>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2019-10-03T12:25:54Z
Lists: pgsql-hackers
Attachments
- 0001-Use-libc-version-as-a-collation-version-on-glibc-sys.patch (text/x-patch) patch 0001
- 0002-WIP-Use-querylocale-for-collation-versions-on-FreeBS.patch (text/x-patch) patch 0002
On Thu, Oct 3, 2019 at 7:53 AM Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > On 2018-09-05 23:18, Thomas Munro wrote: > > On Wed, Sep 5, 2018 at 12:10 PM Christoph Berg <myon@debian.org> wrote: > >>> So, it's not ideal but perhaps worth considering on the grounds that > >>> it's better than nothing? > >> > >> Ack. > > > > Ok, here's a little patch like that. > > > > postgres=# select collname, collcollate, collversion from pg_collation > > where collname = 'en_NZ'; > > collname | collcollate | collversion > > ----------+-------------+------------- > > en_NZ | en_NZ.utf8 | 2.24 > > (1 row) > > After, um, briefly sleeping on this, I would like to go ahead with this. > > There is ongoing work to make ICU available globally, and as part of > that I've also proposed a way to make the collation version tracking > work on a database level. > > This here would be a useful piece on the overall picture. Independent > of what becomes of the ICU effort, we could have glibc collation version > tracking completely working for PG13. +1 Also, better ideas about which objects to attach versions to can come along independently of this. > The only open question on this patch was whether it's a good version to > use. I think based on subsequent discussions, there was the realization > that this is the best we can do and better than nothing. > > In the patch, I would skip the configure test and just do > > #ifdef __GLIBC__ > > directly. Ok. Here's one like that. Also, a WIP patch for FreeBSD. Thanks, Thomas
Commits
-
Doc: Document known problem with Windows collation versions.
- 1bf946bd43e5 14.0 landed
-
Add collation versions for FreeBSD.
- ca051d8b101d 14.0 landed
-
Tolerate version lookup failure for old style Windows locale names.
- 9f12a3b95dd5 14.0 landed
-
Track collation versions for indexes.
- 257836a75585 14.0 landed
-
Add pg_depend.refobjversion.
- cd6f479e79f3 14.0 landed
-
Remove pg_collation.collversion.
- 7d1297df0830 14.0 landed
-
Fix the MSVC build for versions 2015 and later.
- a169155453e3 13.0 cited
-
Add collation versions for Windows.
- 352f6f2df60f 13.0 cited
-
Implement type regcollation
- a2b1faa0f279 13.0 landed
-
Use libc version as a collation version on glibc systems.
- d5ac14f9ccdd 13.0 landed
- 9f90b1d08d79 13.0 landed
-
Make type "name" collation-aware.
- 586b98fdf1aa 12.0 cited