создание функций, процедур, триггеров в PostgreSQL. Задание 1. Напишите функцию, которая принимает на вход название должности (например, стажер), а также даты периода поиска, и возвращает количество вакансий, опубликованных по этой должности в заданный период. Задание 2. Напишите триггер, срабатывающий тогда, когда в таблицу position добавляется значение grade, которого нет в таблице-справочнике grade_salary. Триггер должен возвращать предупреждение пользователю о несуществующем значении grade. Задание 3. Создайте таблицу employee_salary_history с полями: • emp_id - id сотрудника • salary_old - последнее значение salary (если не найдено, то 0) • salary_new - новое значение salary • difference - разница между новым и старым значением salary • last_update - текущая дата и время Напишите триггерную функцию, которая срабатывает при добавлении новой записи о сотруднике или при обновлении значения salary в таблице employee_salary, и заполняет таблицу employee_salary_history данными. Задание 4. Напишите процедуру, которая содержит в себе транзакцию на вставку данных в таблицу employee_salary. Входными параметрами являются поля таблицы employee_salary. Все задания следует выполнять в базе данных HR.