Полезное про PostgreSQL

Последние дни усиленно копаю Postgres. Опишу несколько вещей, которые я узнал в разных местах за последние дни, и которые могут быть полезны кому-то.

  1. Чтобы функция, которую запускает триггер была последней, надо, чтобы он вернул NULL, если выполнить надо и остальные, то NEW.
  2. Как работает триггер для UPDATE/DELETE ?
    1. команда ищем те строк, что ей надо изменить
    2. по каждой строке она проверяет наличие триггера для этой таблицы, а не для родителя, поэтому вешать триггер для UPDATE/DELETE на родителя просто бесполезно, в отличии от INSERT.
    3. а вы знаете, что EXPLAIN и по UPDATE и прочим показывает план? Я не знал, точнее как-то не проверял раньше.
  3. При создании таблицы с использование ( like <tablename> including all ) триггеры не переносятся.
  4. О порядке срабатывания триггеров. Если у на таблице висят несколько триггеров на одно и то же событие, то они будут вызываться в алфавитном порядке.
Like what you read? Give Leonid Nikolaev a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.