我们可以使用CHECK
和char_length
来限制TEXT
类型的字段的大小。
CHECK (char_length(myField) <= 100)
由于JSON
对char_length
类型不起作用,我们如何以类似方式限制JSON
类型的字段的大小(以字节或字符为单位)?
答案 0 :(得分:2)
我们如何限制类型字段的大小(以字节或字符为单位) JSON以类似的方式出现,因为char_length不适用于JSON类型?
将列JSON
的数据类型投射到varchar也是一种选择。
这样,您可以使用CHAR_LENGTH
函数。
CHECK (CHAR_LENGTH(myField::varchar) <= 100)
答案 1 :(得分:1)
您可以使用pg_column_size
,它适用于任何列类型:
CHECK (pg_column_size(myField) <= 100)
它以八位字节为单位。