Re: Collation versioning
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Christoph Berg <myon@debian.org>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-07T21:34:30Z
Lists: pgsql-hackers
On Thu, Sep 6, 2018 at 5:36 PM Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Thu, Sep 6, 2018 at 12:01 PM Peter Eisentraut > <peter.eisentraut@2ndquadrant.com> wrote: > > Also, note that this mechanism only applies to collation objects, not to > > database-global locales. So most users wouldn't be helped by this approach. > > Yeah, right, that would have to work for this to be useful. I will > look into that. We could perform a check up front in (say) CheckMyDatabase(), or maybe defer until the first string comparison. The tricky question is where to store it. 1. We could add datcollversion to pg_database. 2. We could remove datcollate and datctype and instead store a collation OID. I'm not sure what problems would come up, but for starters it seems a bit weird to have a shared catalog pointing to rows in a non-shared catalog. The same question comes up if we want to support ICU as a database level default. Add datcollprovider, or point to a pg_collation row? -- Thomas Munro http://www.enterprisedb.com
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