Re: pgsql: Add function to import operating system collations

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, pgsql-committers <pgsql-committers@postgresql.org>
Date: 2017-01-19T16:41:19Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 1/19/17 7:53 AM, Tom Lane wrote:
>> Hm.  I see that the patch randomly changed the way that the collation
>> owner is generated ... looks like it no longer works for mixed-case
>> usernames.  Perhaps follow this model instead:

> We could just use the numeric value, like in the attached patch.

WFM.  Btw, I noticed that BOOTSTRAP_SUPERUSERID is hard-coded as "10"
in this bit in setup_privileges():

		" (SELECT E'=r/\"$POSTGRES_SUPERUSERNAME\"' as acl "
		"  UNION SELECT unnest(pg_catalog.acldefault("
		"    CASE WHEN relkind = 'S' THEN 's' ELSE 'r' END::\"char\",10::oid))"
		" ) as a) "

Is there a reasonable way to fix that?  Maybe do another replace_token
call for it?

			regards, tom lane


Commits

  1. Avoid conflicts with collation aliases generated by stripping.

  2. Add function to import operating system collations

  3. Remove dead code in bootstrap