Subject | Changing collation |
---|---|
Author | Tomasz Tyrakowski |
Post date | 2017-06-27T17:39:02Z |
Hi,
Is it possible to change the collation of a varchar column in place
(without making a temporary column, copying data, dropping the original
column, making it anew and copying the data back)? Would setting
RDB$RELATION_FIELDS.RDB$COLLATION do the trick (and is it safe to do)?
I've got several old production databases which have different
collations on different columns (probably by mistake) and would like to
sort it out.
Also, does the RDB$RELATION_FIELDS.RDB$COLLATION somehow depend on the
default character set of the database, or is it universal (i.e. does the
collation code from RDB$RELATION_FIELDS.RDB$COLLATION always mean the
same, or does a single code mean different collations in databases with
different default character sets)?
Apart from that, I've got a production database with the default
character set NONE (sigh). I assume there's no way changing it, other
than a fresh DB + pump, but just in case... has anyone come up with
another idea? (the DB is almost 100 gigs)
Thanks in advance for any hints.
Best regards
Tomasz
Is it possible to change the collation of a varchar column in place
(without making a temporary column, copying data, dropping the original
column, making it anew and copying the data back)? Would setting
RDB$RELATION_FIELDS.RDB$COLLATION do the trick (and is it safe to do)?
I've got several old production databases which have different
collations on different columns (probably by mistake) and would like to
sort it out.
Also, does the RDB$RELATION_FIELDS.RDB$COLLATION somehow depend on the
default character set of the database, or is it universal (i.e. does the
collation code from RDB$RELATION_FIELDS.RDB$COLLATION always mean the
same, or does a single code mean different collations in databases with
different default character sets)?
Apart from that, I've got a production database with the default
character set NONE (sigh). I assume there's no way changing it, other
than a fresh DB + pump, but just in case... has anyone come up with
another idea? (the DB is almost 100 gigs)
Thanks in advance for any hints.
Best regards
Tomasz