Ваша проверка Oracle не манипулирует данными, введенными в таблицу, она просто проверяет, соответствует ли ее усеченная версия шаблону, поэтому ясно, что можно вставлять начальные / конечные пробелы или что-то еще где-то их обрезает ...
Таким образом, я думаю, вы можете попросить PGSQL игнорировать начальные / конечные пробелы, разрешив его в шаблоне:
CREATE DOMAIN chk_time_zone AS VARCHAR CHECK
( VALUE ~* '\s*(\+|\-|\s)?(0?[0-9]|1[01234])(:[0-5]\d)\s*');
Обратите внимание, что введенное регулярное выражение не содержит привязок к началуили конец, так что шаблон может возникнуть в любом месте данных для совпадения.Добавьте ^ в начале и $ в конце регулярного выражения, если ввод должен полностью соответствовать шаблону
Например: 'abcdef'
соответствует '[cd]+'
, но не '^[cd]+$'