作者
digoal
日期
2020-01-06
标签
PostgreSQL , domain , email
背景
创建一个类型,存储到数据库的必须是邮箱格式。
通过domain可以支持
```
db1=# create domain email as text check(value ~ '.+@.+..+');
CREATE DOMAIN
db1=# create table t(id int, c1 int, mail email);
CREATE TABLE
db1=# insert into t values (1, 100, 'digoal@126.com');
INSERT 0 1
db1=# insert into t values (1, 100, 'digoal@126.');
ERROR: value for domain email violates check constraint "email_check"
db1=# insert into t values (1, 100, 'digoal@126');
ERROR: value for domain email violates check constraint "email_check"
db1=# insert into t values (1, 100, 'digoal@');
ERROR: value for domain email violates check constraint "email_check"
db1=# insert into t values (1, 100, '@a.b');
ERROR: value for domain email violates check constraint "email_check"
```
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.
9.9元购买3个月阿里云RDS PostgreSQL实例
PostgreSQL 解决方案集合
德哥 / digoal's github - 公益是一辈子的事.





