Как защитить базу postgres от ошибочного запроса?

Всем привет!

Вопрос, который никак не дает заснуть: вот к примеру есть многомиллионная база, настроена репликация на случай выхода мастера из строя. Однако, репликация не поможет, если администратор базы ошибочно сделал неправильный запрос (к примеру UPDATE без WHERE, ну мало ли, человеческий фактор), так как все запросы к мастеру идут также к ведомому и в результате получаем тыкву из двух баз (потом конечно кое-кого повесят). Каким образом можно защититься от подобного рода ошибок?
  • Вопрос задан
  • 108 просмотров
Решения вопроса 3
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Бэкапы и обязательно ревью всех мутирующих запросов.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Можно настроить вторую реплику с отсрочкой применения изменений (recovery_min_apply_delay). Ну а вообще - бэкапы и не лазить лишний раз суперюзером в базу.
Ответ написан
Комментировать
к примеру UPDATE без WHERE, ну мало ли, человеческий фактор

Каким образом можно защититься от подобного рода ошибок?

1. Бэкапы
2. Ограничить человеческий фактор
- Делать как можно меньше запросов вручную
- Ограничить круг людей, которые могут это регулярно делать
- Убрать соблазн сделать запись вручную (в datagrip можно поставить галочку на базу, как read-only и без подтверждения не получится послать туда запрос не на чтение)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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