【问题标题】:What is the equivalent of varchar type in PostgreSQL?PostgreSQL 中 varchar 类型的等价物是什么?
【发布时间】:2014-06-24 22:27:39
【问题描述】:

我正在将我的 MySQL 数据库迁移到 PostgreSQL,并且有一个简单的问题:
PostgreSQL 中 varchar(30) 的最佳等价物是什么?是text吗?

【问题讨论】:

标签: mysql database postgresql types postgresql-9.1


【解决方案1】:

在 MySQL 中与 varchar(30) 的最佳映射是 PostgreSQL 中的 varchar(30)。 varchar 是 sql 标准的一部分,可以按原样使用 postgresql。

TEXT 是非标准的,因为您处于迁移状态,最好坚持使用标准元素。

【讨论】:

    【解决方案2】:

    根据PostgreSQL documentation,您可以使用以下数据类型:

    以上唯一不受限制的类型是text。因此,如果您需要无限空间,请使用text。但是,如果您知道该字段可以有多大,我会使用varchar(n)。对有限的需求使用无限的数据类型是没有意义的。这样做只是在浪费空间。

    【讨论】:

    • 实际上,您不会浪费任何空间 - 除非您存储超过 30 个字符。
    • @ypercube,我同意。如果您允许某人有机会存储更多信息,那么他们通常会这样做。设置长度的重点是控制用户可以输入多少。用户将损坏一个待打开的数据库。那是我的观点。我写得不够清楚。
    【解决方案3】:

    这是文档

    http://www.postgresql.org/docs/8.4/static/datatype.html

    你也可以使用 vachar(n)

    【讨论】:

      【解决方案4】:

      继续使用 VARCHAR(30)。

      【讨论】:

        猜你喜欢
        • 2011-03-15
        • 2010-09-29
        • 2011-01-13
        • 1970-01-01
        • 2013-06-02
        • 2013-11-02
        • 1970-01-01
        • 2010-12-27
        • 2016-06-05
        相关资源
        最近更新 更多