Re: pg_dump losing index column collations for unique and primary keys
Alexey Bashtanov <bashtanov@imap.cc>
From: Alexey Bashtanov <bashtanov@imap.cc>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs@postgresql.org
Date: 2019-12-04T13:51:32Z
Lists: pgsql-bugs
> Well, I disagree that that's a high-priority use case, but it seems to me > that you can still do it. You just can't call the index the pkey until > the column collation agrees. So roughly it'd be > > * CREATE UNIQUE INDEX ... (col COLLATE new-collation) > * Drop old pkey (the new index is still enforcing uniqueness) > * ALTER TABLE ... ALTER COLUMN ... COLLATE new-collation > * ALTER TABLE ADD PRIMARY KEY USING INDEX > > These seem to me to be pretty much exactly the same steps you'd need > today, although maybe the current code is more forgiving about > their ordering. Agreed. >> Disallowing changing the direction (ASC/DESC) also looks cruel to me. > That restriction has been there since day one, and we have had a grand > total of zero complaints about it. True, my bad. What do you think of making pg_dump warn the user if they are trying to dump a weird PK/UK which has collations in index and column not matching? And maybe even throw an error in case of --binary-upgrade? >> BTW with playing with this stuff I came across another issue, >> which seems unrelated to collations: > Yeah, see > https://www.postgresql.org/message-id/flat/10365.1558909428@sss.pgh.pa.us > If you'd like to help move things along by reviewing that patch, > it'd be great. I'll have a look. Best, Alex
Commits
-
Disallow non-default collation in ADD PRIMARY KEY/UNIQUE USING INDEX.
- fbbf68094c5f 13.0 landed