【发布时间】:2016-02-21 14:01:59
【问题描述】:
我在 PostgreSQL 数据库中有很多 bytea 字段。
(i) 有没有办法通过使用数据库功能对此类字段施加大小上限(以便在尝试超过此大小时引发错误)?
(ii) 或者,在 SQLAlchemy 中是否有很好的方法来做到这一点?
【问题讨论】:
标签: postgresql sqlalchemy
我在 PostgreSQL 数据库中有很多 bytea 字段。
(i) 有没有办法通过使用数据库功能对此类字段施加大小上限(以便在尝试超过此大小时引发错误)?
(ii) 或者,在 SQLAlchemy 中是否有很好的方法来做到这一点?
【问题讨论】:
标签: postgresql sqlalchemy
您可以使用域(在 PostgreSQL 大小上)。
CREATE DOMAIN my_bytea_8 AS bytea CHECK(length(value) <= 8);
postgres=# SELECT 'NAZDARBAZAR'::my_bytea_8;
ERROR: 23514: value for domain my_bytea_8 violates check constraint "my_bytea_8_check"
SCHEMA NAME: public
DATATYPE NAME: my_bytea_8
CONSTRAINT NAME: my_bytea_8_check
LOCATION: ExecEvalCoerceToDomain, execQual.c:4042
【讨论】: