Re: Collation versioning
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Christoph Berg <myon@debian.org>,
Thomas Munro <thomas.munro@enterprisedb.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-13T07:03:40Z
Lists: pgsql-hackers
On 12/09/2018 13:25, Christoph Berg wrote: > Re: Peter Eisentraut 2018-09-12 <0447ec7b-cdb6-7252-7943-88a4664e7bb7@2ndquadrant.com> >>> Naive idea: make that catalog shared? Collations are system-wide after >>> all. >> >> By the same argument, extensions should be shared, but they are not. > > But extensions put a lot of visible stuff into a database, whereas a > collation is just a line in some table that doesn't get into the way. How about C functions? They are just a system catalog representation of something that exists on the OS. Anyway, we also want to support application-specific collation definitions, so that users can CREATE COLLATION "my_specific_requirements" and use that that in their application, so global collations wouldn't be appropriate for that. Moreover, the fix for a collation version mismatch is, in the simplest case, to go around and REINDEX everything. Making the collation or collation version global doesn't fix that. It would actually make it harder because you couldn't run ALTER COLLATION REFRESH VERSION until after you have rebuilt all affected objects *in all databases*. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
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