При выгрузке базы данных стандартными средствами 1С вылетает ошибка: SQL State: XX001 Native: 7 Message: ERROR: invalid page header in block 19641 of relation "sc2256" Файл выгрузки не создается. Содержимое лога Postgre SQL после этой ошибки: LOG: система была отключена: 2008-03-22 19:32:39 MSK LOG: контрольная точка: 8/C8617E00 LOG: redo-запись: 8/C8617E00; undo-запись: 0/0; отключение: TRUE LOG: next transaction ID: 0/579962; next OID: 72130 LOG: next MultiXactId: 1; next MultiXactOffset: 0 LOG: система готова к использованию WARNING: nonstandard use of \\ in a string literal на символе 75 ПОДСКАЗКА: Use the escape string syntax for backslashes, e.g., E'\\'. WARNING: nonstandard use of \\ in a string literal на символе 110 ПОДСКАЗКА: Use the escape string syntax for backslashes, e.g., E'\\'. ERROR: статус транзакции 1900544 не доступен ПОДРОБНОСТИ: Could not open file "pg_clog/0001": Нет такого файла или каталога. КОМАНДА: FETCH FIRST IN dyn_cur_2997_028147D8 ERROR: current transaction is aborted, commands ignored until end of transaction block КОМАНДА: CLOSE dyn_cur_2997_028147D8 ERROR: current transaction is aborted, commands ignored until end of transaction block КОМАНДА: DECLARE dyn_cur_2997_028147D8 CURSOR WITH HOLD FOR SELECT * FROM SC2256 WHERE SP2259>=' C2 ECR ' AND SUBSTR (SP2259, 1, 13)=' C2 ECR ' ORDER BY SP2259, ROW_ID ERROR: current transaction is aborted, commands ignored until end of transaction block КОМАНДА: CLOSE dyn_cur_2997_026AB098 ERROR: курсор "dyn_cur_2997_028147d8" не существует КОМАНДА: CLOSE dyn_cur_2997_028147D8 WARNING: nonstandard use of \\ in a string literal на символе 75 ПОДСКАЗКА: Use the escape string syntax for backslashes, e.g., E'\\'. WARNING: nonstandard use of \\ in a string literal на символе 110 ПОДСКАЗКА: Use the escape string syntax for backslashes, e.g., E'\\'. ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98;DECLARE dyn_cur_3007_0205DA98 CURSOR WITH HOLD FOR SELECT * FROM _1SJOURN WHERE IDJOURNAL=409 AND DATE_TIME_IDDOC>=E'20080322 0 0 ' AND DATE_TIME_IDDOC<=E'20080322FHML6O 0 ' ORDER BY IDJOURNAL, DATE_TIME_IDDOC;MOVE LAST IN dyn_cur_3007_0205DA98;MOVE BACKWARD 0 IN dyn_cur_3007_0205DA98; ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH RELATIVE 0 IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH FIRST IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98;DECLARE dyn_cur_3007_0205DA98 CURSOR WITH HOLD FOR SELECT * FROM _1SJOURN WHERE IDJOURNAL=409 AND DATE_TIME_IDDOC>=E'20080322 0 0 ' AND DATE_TIME_IDDOC<=E'20080322FHML6O 0 ' ORDER BY IDJOURNAL, DATE_TIME_IDDOC;MOVE FORWARD 1 IN dyn_cur_3007_0205DA98; ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH RELATIVE 0 IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH FIRST IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98;DECLARE dyn_cur_3007_0205DA98 CURSOR WITH HOLD FOR SELECT * FROM _1SJOURN WHERE IDJOURNAL=409 AND DATE_TIME_IDDOC>=E'20080322 0 0 ' AND DATE_TIME_IDDOC<=E'20080322FHML6O 0 ' ORDER BY IDJOURNAL, DATE_TIME_IDDOC;MOVE FORWARD 1 IN dyn_cur_3007_0205DA98; ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH RELATIVE 0 IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH FIRST IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98;DECLARE dyn_cur_3007_0205DA98 CURSOR WITH HOLD FOR SELECT * FROM _1SJOURN WHERE IDJOURNAL=409 AND DATE_TIME_IDDOC>=E'20080322 0 0 ' AND DATE_TIME_IDDOC<=E'20080322FHML6O 0 ' ORDER BY IDJOURNAL, DATE_TIME_IDDOC;MOVE FORWARD 1 IN dyn_cur_3007_0205DA98; ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH RELATIVE 0 IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98;DECLARE dyn_cur_3007_0205DA98 CURSOR WITH HOLD FOR SELECT * FROM _1SJOURN WHERE IDJOURNAL=409 AND DATE_TIME_IDDOC>=E'20080322 0 0 ' AND DATE_TIME_IDDOC<=E'20080322FHML6O 0 ' ORDER BY IDJOURNAL, DATE_TIME_IDDOC;MOVE LAST IN dyn_cur_3007_0205DA98;MOVE BACKWARD -1 IN dyn_cur_3007_0205DA98; ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: FETCH RELATIVE 0 IN dyn_cur_3007_0205DA98 ERROR: курсор "dyn_cur_3007_0205da98" не существует КОМАНДА: CLOSE dyn_cur_3007_0205DA98 ERROR: invalid page header in block 3283 of relation "idd_sc2256" КОМАНДА: DECLARE dyn_cur_3018_020E3B08 CURSOR WITH HOLD FOR SELECT SC13.DESCR, RG99.SP4070, SC33.DESCR, SC33.PARENTID, RG99.SP101, SC31.DESCR, RG99.SP100, RG99.SP2269, 0, 0, RG99.SP2574, 0, 0, RG99.SP164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, RG99.SP2270, SC3143.PARENTEXT, RG99.SP2847, SC2256.SP2259, 0, ' 0 ', ' ', ' ', RG99.SP2269, RG99.SP2574, RG99.SP164 FROM RG99 LEFT OUTER JOIN SC13 ON RG99.SP4070=SC13.ID LEFT OUTER JOIN SC33 ON RG99.SP101=SC33.ID LEFT OUTER JOIN SC31 ON RG99.SP100=SC31.ID LEFT OUTER JOIN SC2256 ON RG99.SP2270=SC2256.ID LEFT OUTER JOIN SC3143 ON SC2256.SP3184=SC3143.ID WHERE PERIOD='20061201' AND (((RG99.SP4070=' 1 '))) ERROR: курсор "dyn_cur_3018_020e3b08" не существует КОМАНДА: CLOSE dyn_cur_3018_020E3B08 ERROR: invalid page header in block 3283 of relation "idd_sc2256" КОМАНДА: DECLARE dyn_cur_3389_02693210 CURSOR WITH HOLD FOR SELECT SC13.DESCR, RG99.SP4070, SC33.DESCR, SC33.PARENTID, RG99.SP101, SC31.DESCR, RG99.SP100, RG99.SP2269, 0, 0, RG99.SP2574, 0, 0, RG99.SP164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, RG99.SP2270, SC3143.PARENTEXT, RG99.SP2847, SC2256.SP2259, 0, ' 0 ', ' ', ' ', RG99.SP2269, RG99.SP2574, RG99.SP164 FROM RG99 LEFT OUTER JOIN SC13 ON RG99.SP4070=SC13.ID LEFT OUTER JOIN SC33 ON RG99.SP101=SC33.ID LEFT OUTER JOIN SC31 ON RG99.SP100=SC31.ID LEFT OUTER JOIN SC2256 ON RG99.SP2270=SC2256.ID LEFT OUTER JOIN SC3143 ON SC2256.SP3184=SC3143.ID WHERE PERIOD='20061201' AND (((RG99.SP4070=' 1 '))) ERROR: курсор "dyn_cur_3389_02693210" не существует КОМАНДА: CLOSE dyn_cur_3389_02693210 NOTICE: CREATE TABLE / PRIMARY KEY создаст подразумеваемый индекс "rgtemp0_pkey" для таблицы "rgtemp0" NOTICE: CREATE TABLE / PRIMARY KEY создаст подразумеваемый индекс "rgtemp0_pkey" для таблицы "rgtemp0" NOTICE: CREATE TABLE / PRIMARY KEY создаст подразумеваемый индекс "rgtemp0_pkey" для таблицы "rgtemp0" ERROR: invalid page header in block 19641 of relation "sc2256" КОМАНДА: DECLARE dyn_cur_3857_01C9A9B0 CURSOR WITH HOLD FOR SELECT * FROM SC2256 ORDER BY DESCR, ROW_ID ERROR: invalid page header in block 19641 of relation "sc2256" КОМАНДА: DECLARE dyn_cur_3885_01B765A8 CURSOR WITH HOLD FOR SELECT * FROM SC2256 ORDER BY DESCR, ROW_ID ERROR: invalid page header in block 19641 of relation "sc2256" КОМАНДА: DECLARE dyn_cur_4003_01CA4B28 SCROLL CURSOR WITH HOLD FOR SELECT * FROM SC2256 ORDER BY DESCR, ROW_ID ERROR: invalid page header in block 19641 of relation "sc2256" КОМАНДА: DECLARE dyn_cur_4042_01CA4B28 SCROLL CURSOR WITH HOLD FOR SELECT * FROM SC2256 ORDER BY DESCR, ROW_ID Подобная ошибка возникает и при загрузке базы стандартными средствами 1С, а также при работе с базой: при формировании некоторых отчетов и при проведении некоторых документов (особенно при формировании отчетов за большой промежуток времени: за год или полтора года).
Проблема "решилась" добавлением строки zero_damaged_pages = true в файл postgresql.conf. Не знаю пока, чего мне будет стоить добавление этого параметра, так что не считаю это решением проблемы. Но возможно это наведет на какие-то мысли по решению проблемы. После этого загрузка и выгрузка происходит без ошибок, правда значительно дольше. База объемом в 2.2 GB загружается 5 часов, а выгружается более 9. В MS SQL все эти процедуры выполняются в течение часа.
Считается, что данная ошибка возникает из-за повреждения файлов (данных) на стороне сервера. http://www.sql.ru/forum/actualthread.aspx?tid=567704
Какие итоги? Может есть смысл использовать новую сборку и версию СУБД 8,2,4 или 8,2,9?
(In reply to comment #3) > Какие итоги? Может есть смысл использовать > новую сборку и версию СУБД 8,2,4 или 8,2,9? > В данный момент базы загружаются и выгружаются корректно с версией 8.2.4 .
(In reply to comment #4) > (In reply to comment #3) > > Какие итоги? Может есть смысл использовать > > новую сборку и версию СУБД 8,2,4 или 8,2,9? > > > > В данный момент базы загружаются и > выгружаются корректно с версией 8.2.4 . Отлично, багу закрываю. Ждите скоро релиза ;)