Помимо того, что сказали другие, добавьте CHECK CONSTRAINT
к этому столбцу, так что если кто-то забудет передать функцию rtrim()
внутри оператора INSERT, ограничение проверки не будет.
Например, проверьте конечные пробелы (в конце) строки:
ALTER TABLE dwh.attribution_summary
ADD CONSTRAINT tcc_attribution_summary_trim
CHECK (rtrim(acct_type_desc) = acct_type_desc);
Другой пример, проверка на наличие начальных и конечных пробелов и последовательных пробелов в середине строки):
ALTER TABLE dwh.attribution_summary
ADD CONSTRAINT tcc_attribution_summary_whitespace
CHECK (btrim(regexp_replace(acct_type_desc, '\s+'::text, ' '::text, 'g'::text)) = acct_type_desc);