任何人都可以解释一下Postgres中的pg_type吗?由于我在其他数据库连接适配器(如MySQL和SQLite)中找不到类型,它提供的功能和功能是什么?
答案 0 :(得分:2)
PostgreSQL为用户提供了丰富的native data types。
用户可以使用CREATE TYPE命令向PostgreSQL添加新类型,或使用CREATE DOMAIN向新域添加新类型。
此外,在创建表或视图时,会自动创建具有相同名称的相应复合类型。
每个数据库可能有一组不同的已定义类型。数据库中已知的所有类型和域的信息存储在system catalog pg_type
.
答案 1 :(得分:2)
postgres目录表pg_type
包含有关数据库中可用的所有数据类型的信息。其中包括bool
和text
等内置数据类型,hstore
等扩展数据类型以及使用CREATE TYPE
的结果的自定义数据类型。
如果您有兴趣,可以在the postgres documentation for that table中获得更多信息。对于数据库的大多数用途,您不需要访问pg_type
,但它可能很有用。在这种情况下,ActiveRecord除其他外,查询pg_type
以获取有关用户创建的表中每列类型的准确信息。