@Krechet

1C 8.2 +linux +Postgres

Собрал небольшой 1С-сервер на Linux fedora +Postgresql 9.1.2 +1C сервер версии 8.2.14.533

из под виндовой 1С-ки пытаюсь залить на сервер конфигурацию.

Postgres ругается на следующее:

ERROR: syntax error at or near «SECOND» at character 227
STATEMENT: CREATE OR REPLACE FUNCTION public.datediff(varchar, timestamp, timestamp)
RETURNS int4 AS
'
DECLARE
arg_mode alias for $1;
arg_d2 alias for $2;
arg_d1 alias for $3;
BEGIN
if arg_mode = \'SECOND\' then
return date_part(\'epoch\',arg_d1) — date_part(\'epoch\',arg_d2);
elsif arg_mode = \'MINUTE\' then
return ceil((date_part(\'epoch\',arg_d1) — date_part(\'epoch\',arg_d2)) / 60);
elsif arg_mode = \'HOUR\' then
return ceil((date_part(\'epoch\',arg_d1) — date_part(\'epoch\',arg_d2)) /3600);
elsif arg_mode = \'DAY\' then
return cast(arg_d1 as date) — cast(arg_d2 as date);
elsif arg_mode = \'WEEK\' then
return ceil( ( cast(arg_d1 as date) — cast(arg_d2 as date) ) / 7.0);
elsif arg_mode = \'MONTH\' then
return 12 * (date_part(\'year\',arg_d1) — date_part(\'year\',arg_d2))
+ date_part(\'month\',arg_d1) — date_part(\'month\',arg_d2);
elsif arg_mode = \'QUARTER\' then
return 4 * (date_part(\'year\',arg_d1) — date_part(\'year\',arg_d2))
+ date_part(\'quarter\',arg_d1) — date_part(\'quarter\',arg_d2);
elsif arg_mode = \'YEAR\' then
return (date_part(\'year\',arg_d1) — date_part(\'year\',arg_d2));
end if;
END
'
LANGUAGE 'plpgsql' VOLATILE;

Может кто знает как это обойти, потому что даже если я и обработаю этот запрос, исключив ошибку — то залить конфигурацию заново в эту же БД не смогу. 1С ругается на то что БД не пригодна для использования.
  • Вопрос задан
  • 10928 просмотров
Решения вопроса 1
solver
@solver
С чтения доков и надо было начинать. 1С с обычным постгри работать не будет…
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 7
@VeMax
Попробывали:
backslash_quote = safe_encoding
escape_string_warning = off
standard_conforming_strings = off
Ответ написан
beho1der
@beho1der
1С не будет работать на обычной версии Postgres, пару раз пробовал скомпилить с патчами от 1С но ничего нормального не вышло постоянно лезли ошибки, вам лучше всего взять уже готовую версию postgree от 1С в виде RPM, также как писали выше можно взять патченные etersoft'том у меня они работают без проблем!
Ответ написан
@Krechet Автор вопроса
пробывал :(

после чего порылся и нашел вот это: v8.1c.ru/overview/postgres_patches_notes.htm#note
походу не все так просто у 1С. Сижу пробую собираю.
Ответ написан
RuJet
@RuJet
Тоже пытался запустить на 9й версии. Не получилось.
В итоге взял 8ю версию с сайта etersoft. Все работает отлично.
Ответ написан
@Krechet Автор вопроса
а случаем i686 нету?
Ответ написан
Комментировать
@Krechet Автор вопроса
Снес федору 16, поставил федору 15
поставил постгрес из от etersoft — завелось.
позволил мне залить конфигурацию.
теперь при попытке подключиться — он почему-то выдает мне различие версий 1С-клиента и сервера. хотя они идентичны.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы