相关疑难解决方法(0)

检查PostgreSQL中是否已存在用户定义的类型

假设我在DB中创建了一些用户定义的类型,

CREATE TYPE abc ...

那么可以确定用户定义的类型是否存在?也许,使用任何postgres信息表?

主要原因是因为PostgreSQL似乎不支持CREATE OR REPLACE TYPE ...,并且如果某个类型被多次创建,我希望能够先删除现有的类型,然后重新加载新的类型.

postgresql user-defined-types

53
推荐指数
7
解决办法
3万
查看次数

带有PostgreSQL的SQLAlchemy中的ENUM类型

我正在使用带有postgresql数据库的SQLAlchemy核心,我想将ENUM类型添加到我的表定义中.根据postgresql文档,必须在创建表之前定义ENUM类型:

CREATE TYPE gender_enum AS ENUM ('female', 'male');

CREATE TABLE person (
  name VARCHAR(20),
  gender gender_enum
);
Run Code Online (Sandbox Code Playgroud)

问题是当我创建表定义时.阅读SQLAlchemy文档后,我找不到任何实现示例.我尝试过类似的东西,但它不起作用:

from sqlalchemy.dialects.postgresql import ENUM

person = Table('user_profile', metadata,
  Column('name', String(20)),
  Column('gender', ENUM('female','male'))
);
Run Code Online (Sandbox Code Playgroud)

怎么做?

postgresql enums sqlalchemy

20
推荐指数
3
解决办法
1万
查看次数