powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Восстановление БД из логов транзакций.
13 сообщений из 13, страница 1 из 1
Восстановление БД из логов транзакций.
    #38446062
FZT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FZT
Гость
Здравствуйте.
Я не администратор баз данных, но больше некому. Занимаюсь автоматизацией всяких процессов в 1С, вообще я системный программист.
Прошу помочь мне информацией по вопросу. Буду рад тыканью меня носом в ссылки, кажется сейчас ввиду ситуации я не адекватен и гугл меня не воспринимает.

Всё происходит на сервере под управлением Windows Server 2008 R2
Сервер 1С (на этом же сервере) пишет в PostgreSQL 9.0.3-3.1С(х64)
Флаг fsync = off.
В аттаче конфигурационный файл PostgreSQL, могу кинуть под спойлер по запросу (может лень кому)

Упал линк до сервера. Не очень квалифицированный, но очень смелый системный администратор дал рекомендацию персоналу:
"Зайдите в серверную и нажмите кнопочку отключения питания на сервере, а потом включите". Вот так незамысловато была обойдена система резервного питания сервера.

Это было вчера днем. Я просто даже не знал о произошедшем. Линк до сервера поднялся. Пользователи продолжили писать в базу данные.

Сегодня, работая с некоторыми документами (Возврат товаров от покупателей) при попытке записать данные в БД пользователи получают сообщение навроде (дернул из директории pg_log):

2013-10-30 06:48:27 IRKT ERROR: right sibling's left-link doesn't match: block 151 links to 756 instead of expected 755 in index "_document91_vt1493_byfield1522_nr"
2013-10-30 06:48:27 IRKT STATEMENT: INSERT INTO _Document91_VT1493 VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32)

Имеем: в БП пользователи продолжают писать данные. Это будет происходить до конца рабочего дня.

Как мне узнать хранит ли постгрес лог транзакций?
Если хранит как мне накатить лог транзакций на последний бэкап?
Если это невозможно (допустим нет лога, нет функционала для его накатывания). Как я могу "чекнуть" БД и попытаться восстановить проблемные таблицы, пусть и ценой потери нескольких строк данных?

Ситуация на мой взгляд достаточно серьезная, стараюсь держать себя в руках и не принимать суетливых решений.
Злая ирония: Рядом со старым стоит новый производительный сервер, на котором я планировал заставить администраторов включить fsync.
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #38446077
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZT,


Как мне узнать хранит ли постгрес лог транзакций?:
по умолчанию не хранит если у вас wal_archiving не настроен
а даже если бы был настроен - без fsync он бы тоже вероятнее всего был бы побитым

Если хранит как мне накатить лог транзакций на последний бэкап?:
даже если бы он у вас был настроене на backup снятый через pg_dump он не накатывается... для этого нужно backup снимать через pg_base_backup

Как я могу "чекнуть" БД и попытаться восстановить проблемные таблицы, пусть и ценой потери нескольких строк данных?:
Остановить все обращения к базе и сделать reindex database имя базы;
Но что еще и где у вас побилось и потерялось никто не скажет.
Если pg_dump позволяет нормально dump базы сделать - значит структура не побита... а про данные как повезет


PS: никогда никогда не используйте базу с fsync=off в крайнем случае хотябы fsync=on + synchronous_commit=off
тогда она хотя бы биться не будет после таких фокусов
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #38446091
FZT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FZT
Гость
Большое спасибо за информацию. Пытаюсь сообразить, как могу отблагодарить. Хотел копеечку на телефон кинуть но профиль говорит что Вы из Австралии. =)

Отгуглил таки вот такое решение проблем с индексами.
авторDATABASE=yourdatabase
TABLES=$(echo \\d | psql $DATABASE | grep "^ public" | awk '{print $3}')

for TABLE in $TABLES; do
echo $TABLE
echo "SET zero_damaged_pages = on; VACUUM FULL $TABLE; REINDEX TABLE $TABLE" | psql $DATABASE
done
Правильно я понимаю, что включать zero_damaged_pages = on имеет смысл только в том случае, если постгрес мне заявит что поврежден файл, что-то вроде "Invalid page header in block 65465654 of pg_toast_868426" и VACUUM FULL работать больше не будет?

P.S.:
авторPS: никогда никогда не используйте базу с fsync=off в крайнем случае хотябы fsync=on + synchronous_commit=off
тогда она хотя бы биться не будет после таких фокусов
Да я то как раз потрудился почитать о мне показавшихся важными настройках конфига, которые я обслуживаю. Мои надежды на администраторов не оправдались, всё нужно самому делать.
Мне странно и я бы сказал обидно, такое не желание проявлять профессионализм у моих коллег администраторов (IT аутсорсинг).
Руководство вышестоящее дало в свое время добро админам на fsync.
А я ищю работу :D Где такие такие ситуации (которые я прогнозировал) возникать не будут по вине собственного персонала.
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #38446343
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FZT

>> Хотел копеечку на телефон кинуть но профиль говорит что Вы из Австралии. =)

Мне просто благодарности достаточно. :)

>>Правильно я понимаю, что включать zero_damaged_pages = on имеет смысл только в том случае, если постгрес мне заявит что поврежден файл, что-то вроде "Invalid page header in block 65465654 of pg_toast_868426" и VACUUM FULL работать больше не будет?

Да вы правильно все понимаете... если побились только индексы то reindex будет достаточно для исправления.

PS: практика показала что после подобных сбоев дешевле все остановить.... восстановить базу из ночного bacup (если он есть)... запустится на этом а потом пробовать руками/скриптом внести ключевые изменения из поврежденной базы. Так как что именно побилось и каким образом скать невозможно и логические ошибки в данных после восстановления с zero_damaged_pages=on можно выгребать после годами.
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #38448056
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллека по несчастью :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Восстановление БД из логов транзакций.
    #39182597
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
Добрый день! Аналогичная проблема, после отключения электроэнергии сгорел упс, и не успели выключить корректно сервер бд:
в результате после включения сервера такая вот ошибка в логах:


2016-03-01 13:07:37 MSK db x.x.x.x sysdaemon XX000 2016-03-01 12:41:02 MSKERROR: right sibling's left-link doesn't match: block 29 links to 190 instead of expected 203 in index "pg_depend_depender_index"
2016-03-01 13:07:37 MSK db x.x.x.x sysdaemon XX000 2016-03-01 12:41:02 MSKSTATEMENT: CREATE TEMP TABLE temp_s_rt_768974451( goods_id integer NOT NULL, store_id integer NOT NULL, items_count double precision NOT NULL, date_purchase timestamp with time zone NOT NULL, price double precision NOT NULL, invoice_id bigint NOT NULL, line_id integer NOT NULL, supplier_id integer NOT NULL, program_id integer NOT NULL, invoice_purchase_id bigint NOT NULL, invoice_purchase_line_id integer NOT NULL, pull_date date, mark_new boolean NOT NULL DEFAULT false) WITH (OIDS=FALSE) ON COMMIT DROP

fsync=on, настроена потоковая репликация.

Подскажите пожалуйста, что следует предпринять в первую очередь для лечения? REINDEX DATABASE бд ?
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39182612
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gk2Добрый день! Аналогичная проблема, после отключения электроэнергии сгорел упс, и не успели выключить корректно сервер бд:
в результате после включения сервера такая вот ошибка в логах:


2016-03-01 13:07:37 MSK db x.x.x.x sysdaemon XX000 2016-03-01 12:41:02 MSKERROR: right sibling's left-link doesn't match: block 29 links to 190 instead of expected 203 in index "pg_depend_depender_index"
2016-03-01 13:07:37 MSK db x.x.x.x sysdaemon XX000 2016-03-01 12:41:02 MSKSTATEMENT: CREATE TEMP TABLE temp_s_rt_768974451( goods_id integer NOT NULL, store_id integer NOT NULL, items_count double precision NOT NULL, date_purchase timestamp with time zone NOT NULL, price double precision NOT NULL, invoice_id bigint NOT NULL, line_id integer NOT NULL, supplier_id integer NOT NULL, program_id integer NOT NULL, invoice_purchase_id bigint NOT NULL, invoice_purchase_line_id integer NOT NULL, pull_date date, mark_new boolean NOT NULL DEFAULT false) WITH (OIDS=FALSE) ON COMMIT DROP

fsync=on, настроена потоковая репликация.

Подскажите пожалуйста, что следует предпринять в первую очередь для лечения? REINDEX DATABASE бд ?

вообще лучше всего на реплику переключится
а этот сервера с реплики заново залить.
для чего еще нужна реплика как не для таких случаев?

Если очень хочется приключений и риска еще и реплику потерять заодно - да reindex database.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39182619
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
Большое спасибо за быстрый ответ Максим! Просто сервер репликации также выключился и неизвестно в каком он состоянии, сейчас находимся в ожидании очередного включения эл.энергии...
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39182705
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
После переключения на сервер репликации, оказалось, что и на нем данные повреждены:

2016-03-01 15:41:52 MSK 00000 2016-03-01 15:41:52 MSKLOG: database system was interrupted while in recovery at 2016-03-01 15:41:37 MSK
2016-03-01 15:41:52 MSK 00000 2016-03-01 15:41:52 MSKHINT: This probably means that some data is corrupted and you will have to use the last backup for recovery.
2016-03-01 15:41:52 MSK [unknown] [unknown] 00000 2016-03-01 15:41:52 MSKLOG: connection received: host= port=1502
2016-03-01 15:41:52 MSK cash 172.172.180.252 acsuser 57P03 2016-03-01 15:41:52 MSKFATAL: the database system is starting up
2016-03-01 15:41:52 MSK [unknown] [unknown] 00000 2016-03-01 15:41:52 MSKLOG: connection received: host= port=53440
2016-03-01 15:41:52 MSK 00000 2016-03-01 15:41:52 MSKLOG: database system was not properly shut down; automatic recovery in progress
2016-03-01 15:41:52 MSK cash 172.172.180.150 symmetricds 57P03 2016-03-01 15:41:52 MSKFATAL: the database system is starting up
2016-03-01 15:41:52 MSK 00000 2016-03-01 15:41:52 MSKLOG: redo starts at 87F/62765CA0
2016-03-01 15:41:53 MSK [unknown] [unknown] 00000 2016-03-01 15:41:53 MSKLOG: connection received: host= port=1053
2016-03-01 15:41:53 MSK cash 172.172.183.73 acsuser 57P03 2016-03-01 15:41:53 MSKFATAL: the database system is starting up
2016-03-01 15:41:53 MSK [unknown] [unknown] 00000 2016-03-01 15:41:53 MSKLOG: connection received: host= port=53441
2016-03-01 15:41:53 MSK cash 172.172.180.150 symmetricds 57P03 2016-03-01 15:41:53 MSKFATAL: the database system is starting up
2016-03-01 15:41:53 MSK [unknown] [unknown] 00000 2016-03-01 15:41:53 MSKLOG: connection received: host=[local]
2016-03-01 15:41:53 MSK postgres [local] postgres 57P03 2016-03-01 15:41:53 MSKFATAL: the database system is starting up
2016-03-01 15:41:53 MSK XX000 2016-03-01 15:41:52 MSKPANIC: btree_insert_redo: failed to add item
2016-03-01 15:41:53 MSK XX000 2016-03-01 15:41:52 MSKCONTEXT: xlog redo insert: rel 1663/16433/286478011; tid 1/2
2016-03-01 15:41:53 MSK 00000 2016-03-01 15:41:52 MSKLOG: startup process (PID 2101) was terminated by signal 6: Aborted
2016-03-01 15:41:53 MSK 00000 2016-03-01 15:41:52 MSKLOG: aborting startup due to startup process failure
2016-03-01 15:42:53 MSK [unknown] [unknown] 00000 2016-03-01 15:42:53 MSKLOG: connection received: host= port=1100
2016-03-01 15:42:53 MSK 00000 2016-03-01 15:42:53 MSKLOG: database system was interrupted while in recovery at 2016-03-01 15:41:52 MSK
2016-03-01 15:42:53 MSK 00000 2016-03-01 15:42:53 MSKHINT: This probably means that some data is corrupted and you will have to use the last backup for recovery.
2016-03-01 15:42:53 MSK cash 172.172.183.73 acsuser 57P03 2016-03-01 15:42:53 MSKFATAL: the database system is starting up
2016-03-01 15:42:53 MSK 00000 2016-03-01 15:42:53 MSKLOG: database system was not properly shut down; automatic recovery in progress
2016-03-01 15:42:53 MSK 00000 2016-03-01 15:42:53 MSKLOG: redo starts at 87F/62765CA0


Попробую выполнить reindex базы
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39182753
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
Сделал REINDEX базы, но это не помогло:

2016-03-01 16:13:50 MSK 00000 2016-03-01 16:13:50 MSKLOG: autovacuum: found orphan temp table "pg_temp_35"."temp_s_rt_578048034" in database "cash"
2016-03-01 16:13:50 MSK 00000 2016-03-01 16:13:50 MSKLOG: autovacuum: found orphan temp table "pg_temp_35"."mark_delete" in database "cash"
2016-03-01 16:13:50 MSK 00000 2016-03-01 16:13:50 MSKLOG: autovacuum: found orphan temp table "pg_temp_35"."mark_active" in database "cash"
2016-03-01 16:13:51 MSK XX000 2016-03-01 16:13:50 MSKERROR: left link changed unexpectedly in block 32 of index "sym_idx_ob_node_status"
2016-03-01 16:13:51 MSK XX000 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.symmetricds.sym_outgoing_batch"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186867": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.c_agent_status_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186871": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.face_type_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186878": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.r_region_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186889": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_body_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186885": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227187280": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.exchanger.bdr_item_temp"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186874": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186871"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227186881": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186878"
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKERROR: could not open file "base/16433/227187283": Нет такого файла или каталога
2016-03-01 16:13:51 MSK 58P01 2016-03-01 16:13:50 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227187280"
2016-03-01 16:13:56 MSK [unknown] [unknown] 00000 2016-03-01 16:13:56 MSKLOG: connection received: host=172.172.181.32 port=2798
2016-03-01 16:13:56 MSK cash 172.172.181.32 acsuser 00000 2016-03-01 16:13:56 MSKLOG: connection authorized: user=acsuser database=cash
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39182775
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
народ не жалуется вроде по функционалу, но в логах базы всё время такие ошибки, чем это грозит, подскажите пожалуйста:


2016-03-01 16:28:22 MSK XX000 2016-03-01 16:28:21 MSKERROR: left link changed unexpectedly in block 32 of index "sym_idx_ob_node_status"
2016-03-01 16:28:22 MSK XX000 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.symmetricds.sym_outgoing_batch"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186867": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.c_agent_status_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186871": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.face_type_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186878": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.r_region_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186889": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_body_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186885": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227187280": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.bdr_item_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186874": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186871"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186881": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186878"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227187283": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227187280"
2016-03-01 16:28:22 MSK [unknown] [unknown] 00000 2016-03-01 16:28:22 MSKLOG: connection received: host=172.172.183.31 port=2287
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39183167
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gk2народ не жалуется вроде по функционалу, но в логах базы всё время такие ошибки, чем это грозит, подскажите пожалуйста:


2016-03-01 16:28:22 MSK XX000 2016-03-01 16:28:21 MSKERROR: left link changed unexpectedly in block 32 of index "sym_idx_ob_node_status"
2016-03-01 16:28:22 MSK XX000 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.symmetricds.sym_outgoing_batch"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186867": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.c_agent_status_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186871": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.face_type_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186878": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.r_region_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186889": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_body_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186885": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.store_rule_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227187280": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.exchanger.bdr_item_temp"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186874": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186871"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227186881": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227186878"
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKERROR: could not open file "base/16433/227187283": Нет такого файла или каталога
2016-03-01 16:28:22 MSK 58P01 2016-03-01 16:28:21 MSKCONTEXT: automatic vacuum of table "cash.pg_toast.pg_toast_227187280"
2016-03-01 16:28:22 MSK [unknown] [unknown] 00000 2016-03-01 16:28:22 MSKLOG: connection received: host=172.172.183.31 port=2287

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

PS: интересно как вы такого добились... база без fsync=on была чтоли? Или на дисках кеш на запись не был выключен?

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Восстановление БД из логов транзакций.
    #39183488
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
>>значит таблицы указанные в этом списке потеряны и их надо удалять из базы и восстанавливать из backup.
я так и сделал вчера и ошибки пропали из лога. Также помог reindex отдельных таблиц.

>>база без fsync=on была чтоли?
к сожалению да, когда-то было принято такое грубое решение (нарушение) в пользу производительности. На тот момент, было нестрашно потерять данные до бекапа. Сейчас же уяснил, что лучше никогда не использовать такую конфигурацию.

Большое вам спасибо Максим!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Восстановление БД из логов транзакций.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]