Hi!
Because I figured that we don’t need any of the features the High Availability image provides anymore I wanted to see if a migration of our database from the HA to the Standard Image might be possible.
So I fired up our testing environment and tried to go from timescale/timescaledb-ha:pg14.17-ts2.18.2 to timescale/timescaledb:2.18.2-pg14 and apart from a small change to the mount path inside the docker container I only ran into one issue so far:
The Collations do not seem to match? When I look into pg_database I see template1 and our main database both created on the old HA image show up as using datcollate and datctype of C.UTF-8
pg_collation now shows me that C.utf8 among C and en_us.utf8 is available. If I try to create a new database using template1 with
CREATE DATABASE test_database_name
LC_COLLATE = ‘C.UTF-8’
LC_CTYPE = ‘C.UTF-8’
TEMPLATE template1;
I get this:
ERROR: new collation (C) is incompatible with the collation of the template database (C.UTF-8)
when I am trying to create it with LC_COLLATE = ‘C.utf8’ and LC_CTYPE = ‘C.utf8’ the results is this:
ERROR: new collation (C.utf8) is incompatible with the collation of the template database (C.UTF-8)
Now I am a bit confused. C.UTF-8 and C.utf8 should be the same collations right? What is our main database using as collation right now if it can’t match those two? Just C?
Did I just make a Syntax error somewhere?
Do I add C.UTF-8 somehow? Do I just edit the datcollate and datctype values of our databases to match the pg_collation names?
If someone could point me in the right direction I would be very grateful!
PS.: Any thoughts about why this “downgrade” is a bad idea anyway or things I should look out for are also appreciated Image may be NSFW.
Clik here to view.
1 post - 1 participant