psycopg2枚举类型

时间:2013-03-08 15:06:36

标签: python postgresql psycopg2

我在postgres 9.2中有以下类型:

CREATE TYPE profile_categories AS ENUM
(
    'particulier',
    'professionel',
    'assureur',
    'manager'
);

所以我想注册:

psycopg2.extras.register_composite('profile_categories', conn, globally=True)

然后我收到了一个错误:

psycopg2.ProgrammingError: PostgreSQL type 'profile_categories' not found

我所有的ENUM TYPE都无法正确注册,而其他类型的注册很好,例如:

CREATE TYPE _result AS
(
    id                  TEXT,
    msg                 TEXT
);

如何注册ENUM TYPE?

1 个答案:

答案 0 :(得分:0)

您的陈述失败,因为枚举不是复合类型。我查看了文档,但找不到与枚举类型有关的任何内容。我可能只会将其视为文本和陷阱错误。

当可能需要进行额外处理时,可能会使用注册过程(来自文档),因此您可以处理点类型,几何类型,元组类型等.ENUM类型从接收到它们时不需要处理db这样才有意义。