MySQL到PostgreSQL表创建转换-字符集和排序规则 [英] MySQL to PostgreSQL table create conversion - charset and collation
问题描述
我想从MySQL迁移到PostgreSQL。我对create table的查询是这样的。
I want to migrate from MySQL to PostgreSQL.My query for create table is like this.
CREATE TABLE IF NOT EXISTS conftype
(
CType char(1) NOT NULL,
RegEx varchar(300) default NULL,
ErrStr varchar(300) default NULL,
Min integer default NULL,
Max integer default NULL,
PRIMARY KEY (CType)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
此查询的转换形式是什么。我对 DEFAULT CHARSET = latin1 COLLATE = latin1_bin
部分感到困惑。如何转换这部分?
What is the converted form of this query. I am confused with DEFAULT CHARSET=latin1 COLLATE=latin1_bin
part. How can I convert this part?
推荐答案
那将意味着表仅使用latin-1(iso-8859-1 )字符集和latin-1二进制排序顺序。在PostgreSQL中,字符集是整个数据库范围的,没有选项可以在表级别进行设置。
That one would mean that the table uses only latin-1 (iso-8859-1) character set and latin-1 binary sorting order. In PostgreSQL the character set is database-wide, there is no option to set it on table level.
您可以创建与以下版本基本兼容的数据库:
CREATE DATABASE databasenamegoeshere WITH ENCODING 'LATIN1' LC_COLLATE='C'
LC_CTYPE='C' TEMPLATE=template0;
但是,我个人认为MySQL-> PostgreSQL端口也值得切换到UTF-8 / Unicode。
However, I personally would consider a MySQL->PostgreSQL port also worthy of switching to UTF-8/Unicode.
这篇关于MySQL到PostgreSQL表创建转换-字符集和排序规则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!