суббота, 28 августа 2010 г.

Странное сообщение...

Май 29th, 2010

В 00:00 -00:01 в логе видим что-то подобное



Can’t find mchar/mvarvarchar types: mchar=0 mvarchar=0 STATEMENT: SELECT tableoid, oid, lanname, lanpltrusted, lanplcallfoid, lanvalidator, lanacl, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = lanowner) as lanowner FROM pg_language WHERE lanispl ORDER BY oid


LOG: Can’t find mchar/mvarvarchar types: mchar=0 mvarchar=0


STATEMENT: SELECT tableoid, oid, proname as aggname, pronamespace as aggnamespace, pronargs, proargtypes, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = proowner) as rolname, proacl as aggacl FROM pg_proc WHERE proisagg AND pronamespace != (select oid from pg_namespace where nspname = ‘pg_catalog’)
и т.д.

Замечено, что в выходные дни сообщения эти отсутствуют, т.е. если в базу не вносились изменения, то и процедура, ответственная за сообщения не запускалась.

Сначала думал, что это autovacuum. Отключал его в конфиге

autovacuum off
Результат нулевой.

Теперь попробуем там же изменить уровень логирования до Debug1

log_min_message debug1


Пошла более частая инфа в лог, но ситуация не прояснилась.

Теперь попробуем изменить уровень детализации ошибок на verbose (подробно)

log_error_verbosity verbose
Оп-па, ловля блох удалась.

LOCATION: fillMCharOIDS, .\src\backend\optimizer\path\indxpath.c:2031

Вот она функция (процедура) выдающая это сообщение. Она содержится в патче 1С, который

содержит дополнительные модули расширения и необходимые изменения к СУБД, добавляющие функциональность, необходимую для работы с сервером 1С:Предприятия 8.1 и 1С:Предприятия 8.2

В части

ROUTINES FOR “SPECIAL” INDEXABLE OPERATORS FOR SPECIAL USER_DEFINED TYPES
и похоже выдает сообщения о неиндексированных блоках данных, что есть не смертельно, хотя зачем эта инфа пользователю – не понятно.

Пока.

1 комментарий: