99% случаев ограничения только по MAX длине), зачем дополнительный констрейт?
в постгресе text и varchar ничем не отличаются в реализации. и на памяти/скорости не сэкономите
> в 99% случаев ограничения только по MAX длине Ну, я бы не сказал — мне кажется, другие constraints бывают почаще, чем в 1% случаев. А так, затем, что (IMHO): . Логично использовать для всех ограничений полей одно средство. . У CONSTRAINT может быть название, которое может быть с пользой применено в приложении (ошибка про malformed_account_code как-то "веселее", чем "value too long for type character varying(x)" (тут ещё, кстати, и непонятно, про какое поле ошибка)). . Ну и CONSTRAINT — это "логическое" ограничение, оно выражает намерение, а varchar(x) — "физическое" (аналогичное PRIMARY KEY, UNIQUE/EXCLUSION CONSTRAINTS и т.п.). И это даже может быть полезно, если база следует правилу по возможности определять ограничения таким образом — легче делать их review и т.п.
Обсуждают сегодня