MySQL到PostgreSQL表创建转换-字符集和排序规则 [英] MySQL to PostgreSQL table create conversion - charset and collation

查看:516
本文介绍了MySQL到PostgreSQL表创建转换-字符集和排序规则的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆