我想要将数据库编码sql改为utf8,而不需要删除数据库,这是可能的吗?(psql 9.5) (我害怕数据中断)
我正在尝试,但不起作用
update pg_database set encoding = pg_char_to_encoding('utf8') where datname = 'name'

发布于 2019-07-27 18:49:29
您不必一定要drop数据库。但是,您需要使用新的编码有效地创建另一个编码,因此在不中断数据的情况下更改编码是不可能的。
通常,首选的方法是使用pg_dump转储当前数据库,创建一个使用utf8编码的新数据库,并对该数据库执行pg_restore。
但是,在此过程中,您可能会发现,为了使pg_restore不失败,必须修复与数据相关的问题,因为可以在sql_ascii编码的数据库中存储许多东西(尽管它的名称实际上是没有任何编码--它基本上只是取字节本身)而不是有效的UTF8。
https://stackoverflow.com/questions/57230392
复制相似问题