【问题标题】:Can someone explain the functionality of ActiveRecord postgres pg_type?有人可以解释 ActiveRecord postgres pg_type 的功能吗?
【发布时间】:2017-10-06 22:39:19
【问题描述】:

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb

谁能解释一下 Postgres 中的 pg_type ?由于在 MySQL 和 SQLite 等其他数据库连接适配器中找不到类型,它提供的功能和特性是什么?

【问题讨论】:

    标签: postgresql activerecord


    【解决方案1】:

    PostgreSQL 有一组丰富的native data types 可供用户使用。

    用户可以使用CREATE TYPE 命令将新类型添加到 PostgreSQL,或者使用CREATE DOMAIN 添加新域。

    另外,当您创建表或视图时,会自动创建相应的同名复合类型。

    每个数据库可能有一组不同的定义类型。数据库中已知的所有类型和域的信息都存储在system catalog pg_type.

    【讨论】:

      【解决方案2】:

      postgres 目录表pg_type 包含有关数据库中所有可用数据类型的信息。这包括像booltext 这样的内置数据类型,像hstore 这样的扩展数据类型,以及使用CREATE TYPE 产生的自定义数据类型。

      如果您有兴趣,可以在the postgres documentation for that table 中找到更多信息。对于数据库的大多数用途,您不需要访问pg_type,但它可能很有用。在这种情况下,ActiveRecord 会查询pg_type 以获取有关用户创建的表中每一列的类型的准确信息。

      【讨论】:

        猜你喜欢
        • 2011-06-24
        • 2021-05-27
        • 2020-04-20
        • 2021-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多