Новости нашего ИТ логотип
Подписаться
Опубликовано

Как запускать PostgreSQL прямо из бэкапа без restore: FUSE и точечный флэшбэк через postgres_fdw

Автор

Как запускать PostgreSQL прямо из бэкапа без restore: FUSE и точечный флэшбэк через postgres_fdw #docker Несколько лет назад я трудился в проекте, где основной биллинг работал на Oracle. Однажды коллега захотел поправить тестовые начисления в таблице abon_charges и выполнил такой запрос: UPDATE abon_charges SET amount = 0 WHERE service_id = 123 AND v_abon_id = v_abon_id; На первый взгляд — ничего страшного. Но v_abon_id = v_abon_id истинно для любой строки. Oracle это не игнорирует. Условие становится: WHERE service_id = 123 AND TRUE Так запрос обнулил абсолютно все суммы для service_id=123 за десятки месяцев. В таблице было около 1,8 млн строк по этой услуге. С такой неприятностью в Oracle может помочь механизм Oracle Flashback. Вкратце: находим проблемную транзакцию, в отдельной сессии включаем чтение таблицы на момент до обновления, снимаем копию в отдельную таблицу и отдаём её нашему вино

link

avatar
Новости нашего ИТ
12 подписчиков
4771 пост
Данный канал является агрегатором технических статей нашего любимого ИТ, так что кто устал листать тысячи сайтов в поиске технических статей присоеденяйтесь к каналу и наслаждайтесь #it_news

Свежие посты