Почему Postgres дает мне эту ошибку2201B ОШИБКА: недопустимый регулярное выражение при использовании заменить функции()
[2014-10-30 13:43:36] [2201B] ERROR: invalid regular expression: invalid escape \ sequence Where: PL/pgSQL function normalize_username() line 5 at assignment
, когда я использую SQL заявление:
UPDATE users."user" SET username = username
со следующим триггером активным:
CREATE OR REPLACE FUNCTION normalize_username()
RETURNS TRIGGER AS $normalize_username$
BEGIN
IF NOT (NEW.username IS NULL)
THEN
NEW.username := replace(NEW.username, 'ё', 'е');
END IF;
RETURN NEW;
END;
$normalize_username$ LANGUAGE plpgsql;
Таблица была создана следующим образом:
CREATE TABLE USERS.user (
user_id SERIAL PRIMARY KEY,
username CITEXT,
)
replace() - простая текстовая функция, не так ли? Я полагаю, он не должен иметь никакого отношения к регулярным выражениям.