On 10.02.22 12:08, Julien Rouhaud wrote:
+                                        errhint("Rebuild all objects affected by 
collation in the template database and run "
+                                                        "ALTER DATABASE %s REFRESH 
COLLATION VERSION, "
+                                                        "or build PostgreSQL with 
the right library version.",
+                                                        
quote_identifier(dbtemplate))));

After a second read I think the messages are slightly ambiguous.  What do you
think about specifying the problematic collation name and provider?

For now we only support libc default collation so users will probably have to
reindex almost everything on that database (not sure if the versioning is more
fine grained on Windows), but we should probably still specify "affected by
libc collation" in the errhint so they have a chance to avoid unnecessary
reindex.

I think accurate would be something like "objects using the default collation", since objects using a specific collation are not meant, even if they use the same provider.

+/*
+ * ALTER DATABASE name REFRESH COLLATION VERSION
+ */
+ObjectAddress
+AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt)

I'm wondering why you changed this function to return an ObjectAddress rather
than an Oid?  There's no event trigger support for ALTER DATABASE, and the rest
of similar utility commands also returns Oid.

Hmm, I was looking at RenameDatabase() and AlterDatabaseOwner(), which return ObjectAddress.


Reply via email to