Thomas Munro <thomas.munro@gmail.com> writes: > Longer term I'm looking for something better than that though, because > it doesn't address the root cause (need for stable identifiers), and > will only ever allow us to fix problems with the old unstable names > *after* users complain that their database is dead, 3-6 months after > in fact due to release cycles. I think a dynamic mapping file might > be better? (Maybe win32locale.c should be able to read that kludge > table from a file that you can give it with an environment variable, > or something like that?)
+1 for the long-term solution being more-stable locale identifiers. However, we should try to build something that will let users get out of these situations with the existing identifiers, so I like your idea of a plain-text mapping file for Windows locale names. I don't think an environment variable is necessary; just define a fixed name "$PGDATA/locale_map.txt" or such. If that file exists, just read it and map the pg_database field values with it.
Maybe this shouldn't even be Windows-specific? Are there any cases where it'd save people's bacon on other platforms?