1С:Предприятие 8.1 + PostgreSQL: operator is not a member of opfamily

Материал из База знаний Etersoft
Перейти к: навигация, поиск

Из-за несовместимости версии платформы 1С и версии PostgreSQL, либо из-за ошибки в патче 1С к PostgreSQL, при создании базы может возникнуть ошибка вида:


ERROR: operator 16443 is not a member of opfamily 16605

STATEMENT: SELECT FileName,Creation,Modified,Attributes,DataSize FROM Files WHERE FileName LIKE 'ib.pfl'

NOTICE: there is no transaction in progress


решение "в лоб": нужно создать 2 недостающие функции в базе , посредством psql или pgadmin:


CREATE OR REPLACE FUNCTION mchar_like(a mchar, b mvarchar) RETURNS boolean 
AS 
$BODY$
 begin
 return (a::mvarchar like b);
 end 
$BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100;
ALTER FUNCTION mchar_like(a mchar, b mvarchar) OWNER TO postgres;

CREATE OR REPLACE FUNCTION mvarchar_like(b mvarchar, a mchar) RETURNS boolean 
AS 
$BODY$
 begin
 return (a::mvarchar like b);
 end 
$BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; 
ALTER FUNCTION mvarchar_like(b mvarchar, a mchar) OWNER TO postgres;