Это что-то вроде xxxxx-xxxx, поэтому рекомендуется varchar(10)
.
Если вы хотите проверить синтаксис значений в базе данных, вы можете создать тип domain
для почтовых индексов.
CREATE DOMAIN zipcode varchar(10)
CONSTRAINT valid_zipcode
CHECK (VALUE ~ '[A-Z0-9-]+'); -- or a better regular expression
Вы можете взглянуть на этот сайт, который предлагает следующее регулярное выражение:
(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)
Но вы должны проверить, работает ли оно для PostgreSQL
регулярного выражениясинтаксис.