172 похожих чатов

Всем привет. PostgreSQL 12.2, в следствии переполнения диска, на котором расположена

БД, полностью очистились данные из всех секций секционированной таблицы.
При этом процесс postgres даже не останавливался.
В логах было "Управляющий процесс отдал команду этому серверному процессу откатить текущую транзакцию и завершиться, так как другой серверный процесс завершился аварийно и возможно разрушил разделяемую память"
После запустилось автоматическое восстановление, при котором было несколько ошибок вида "запись REDO начинается со смещения 1D/5387A130"
После восстановления новые данные начали записываться, но при этом все старые партиции этой секционированной таблицы (в сумме их было несколько десяткой) просто стали пустыми (размер смотрю через \dt+ ), при этом на диске освободилось около 500Гб.
Секционирование декларативное.

Как такое можно объяснить?

12 ответов

30 просмотров

Вариант кривых рук не рассматривали? То есть не было случайно подозрительных логинов?

Переполнение диска постгрес часто не переживает.

Sergey-Smirnov Автор вопроса
Роман Жарков
Переполнение диска постгрес часто не переживает.

не переживает в смысле запущенного инстанса? но данные в 500GB он не теряет так просто)

Mikhail Zhilin
не переживает в смысле запущенного инстанса? но да...

Надысь системный каталог потерял. В результате потерялось больше 500 гб.

Sergey Smirnov
Рассматривал, но не обнаружил

Есть ли реплика? Там какое состояние?

Sergey-Smirnov Автор вопроса
Роман Жарков
Надысь системный каталог потерял. В результате пот...

то есть при повреждении системного каталога могут физически потеряться данные на сотни Гб?

Роман Жарков
Надысь системный каталог потерял. В результате пот...

то есть corruption? в таком случаи кто мог удалить сами файлы?

"так как другой серверный процесс завершился аварийно и возможно разрушил разделяемую память" Это полное завершение всех процессов.

Sergey-Smirnov Автор вопроса
Роман Жарков
"так как другой серверный процесс завершился авари...

Судя по времени START процессов (смотрю через ps), процессы /opt/pgpro/std-12/bin/postgres -D /var/lib/pgpro/std-12/data и postgres: logger не завершались во время сбоя.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта