Глава 22 из 28
22. Функции, процедуры, триггеры (PL/pgSQL)
Правило «баланс не может уйти в минус» можно проверять в каждом из пяти сервисов, которые пишут в таблицу, а можно один раз в самой базе. Так же с подсчётом НДС, журналом изменений и переводом денег между счетами: логика, которая должна работать одинаково для всех клиентов, живёт ближе к данным. В главе разберём функции на SQL и на PL/pgSQL (процедурном языке PostgreSQL), процедуры с управлением транзакциями, обработку ошибок блоком EXCEPTION, триггеры BEFORE и AFTER на уровне строки и оператора и безопасную настройку SECURITY DEFINER. Покажем и то, чем логика в базе обходится: что не видит планировщик, что стоит блок EXCEPTION и где триггер ломает массовую загрузку.
Откройте остальные главы
Ещё 20 глав: внутреннее устройство, оптимизация, администрирование. Покупка разовая, доступ навсегда.