Что такое транзакции в PostgreSQL?
Вопрос проверяет знание механизма транзакций и их роли в обеспечении целостности данных.
Короткий ответ
Транзакция — это последовательность операций, которые выполняются как единое целое. Если одна операция не удалась, все изменения откатываются, чтобы сохранить данные в консистентном состоянии. Транзакции поддерживают свойства ACID: атомарность, согласованность, изоляцию и долговечность.
Длинный ответ
Транзакции гарантируют целостность данных, объединяя несколько операций в одну. Это полезно для выполнения последовательных операций, которые должны быть полностью завершены или полностью отменены в случае ошибки.
Основные команды:
Начало транзакции:
BEGIN;Фиксация изменений:
COMMIT;Откат изменений:
ROLLBACK;Пример использования:
BEGIN;
INSERT INTO accounts (id, balance) VALUES (1, 100);
UPDATE accounts SET balance = balance - 50 WHERE id = 1;
COMMIT;
Если в процессе выполнения произойдет ошибка, можно откатить изменения:
ROLLBACK;
Применение:
Используйте транзакции для операций, где важна целостность данных, например, банковские переводы.