Postgres 将编码 SQL_ASCII 更改为 UTF8
Postgres change Encoding SQL_ASCII to UTF8
我想在不删除数据库的情况下将数据库编码 sql ascii 更改为 utf8 可能吗? (psql 9.5)
(我怕数据中断)
我正在尝试这个但不起作用
update pg_database set encoding = pg_char_to_encoding('utf8') where datname = 'name'
您不一定 drop
数据库。但是,您将需要使用新编码有效地创建另一个编码,因此在不中断数据的情况下确实不可能更改编码。
一般来说,首选的方法是使用pg_dump转储当前数据库,新建一个utf8编码的数据库,然后做一个pg_restore 到那个数据库。
但是,在此过程中,您可能会发现必须解决一些与数据相关的问题才能使 pg_restore 不会失败,因为 [=24] 中可以存储很多东西=] 数据库(尽管它的名字实际上没有任何编码——它基本上只接受字节)不是有效的 UTF8。
我想在不删除数据库的情况下将数据库编码 sql ascii 更改为 utf8 可能吗? (psql 9.5) (我怕数据中断)
我正在尝试这个但不起作用
update pg_database set encoding = pg_char_to_encoding('utf8') where datname = 'name'
您不一定 drop
数据库。但是,您将需要使用新编码有效地创建另一个编码,因此在不中断数据的情况下确实不可能更改编码。
一般来说,首选的方法是使用pg_dump转储当前数据库,新建一个utf8编码的数据库,然后做一个pg_restore 到那个数据库。
但是,在此过程中,您可能会发现必须解决一些与数据相关的问题才能使 pg_restore 不会失败,因为 [=24] 中可以存储很多东西=] 数据库(尽管它的名字实际上没有任何编码——它基本上只接受字节)不是有效的 UTF8。