Move definition of standard collations from initdb to pg_collation.dat - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Move definition of standard collations from initdb to pg_collation.dat
Date
Msg-id 08b58ecd-0d50-9395-ed51-dc8294e3fd2b@enterprisedb.com
Whole thread Raw
Responses Re: Move definition of standard collations from initdb to pg_collation.dat  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
While working on [0], I was wondering why the collations ucs_basic and 
unicode are not in pg_collation.dat.  I traced this back through 
history, and I think this was just lost in a game of telephone.

The initial commit for pg_collation.h (414c5a2ea6) has only the default 
collation in pg_collation.h (pre .dat), with initdb handling everything 
else.  Over time, additional collations "C" and "POSIX" were moved to 
pg_collation.h, and other logic was moved from initdb to 
pg_import_system_collations().  But ucs_basic was untouched.  Commit 
0b13b2a771 rearranged the relative order of operations in initdb and 
added the current comment "We don't want to pin these", but looking at 
the email[1], I think this was more a guess about the previous intent.

I suggest we fix this now; see attached patch.


[0]: 
https://www.postgresql.org/message-id/flat/1293e382-2093-a2bf-a397-c04e8f83d3c2%40enterprisedb.com

[1]: https://www.postgresql.org/message-id/28195.1498172402%40sss.pgh.pa.us
Attachment

pgsql-hackers by date:

Previous
From: Brar Piening
Date:
Subject: Re: doc: add missing "id" attributes to extension packaging page
Next
From: Alvaro Herrera
Date:
Subject: "variable not found in subplan target list"