PostgreSQL 17: Часть 3 или Коммитфест 2023-11

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!


Ноябрьский коммитфест принес немало интересного! Без лишних предисловий приступаем к обзору.


Самое интересное об июльском и сентябрьском коммитфестах ― в предыдущих статьях серии: 2023-07, 2023-09.


Триггер ON LOGIN
Триггеры событий для REINDEX
ALTER OPERATOR: commutator, negator, hashes, merges
pg_dump --filter=dump.txt
psql: отображение привилегий по умолчанию
pg_stat_statements: отслеживание времени появления оператора и сброс min/max статистики
pg_stat_checkpointer: статистика процесса контрольной точки
pg_stats: статистика столбцов диапазонных типов
Планировщик: исключение лишних соединений таблицы самой с собой
Планировщик: статистика материализованных CTE
Планировщик: доступ к таблице с несколькими условиями
Оптимизация просмотра индекса при поиске по диапазону
dblink, postgres_fdw: детализированные события ожидания
Логическая репликация: перенос слотов репликации при обновлении сервера публикации
Журналирование использования слотов репликации
Unicode: новые информационные функции
Новая функция xmltext
Поддержка AT LOCAL
Бесконечные интервалы
ALTER SYSTEM с неизвестными пользовательскими параметрами
Сборка сервера из исходных кодов



Триггер ON LOGIN
commit: e83d1b0c


В будущей версии появится возможность создавать триггер события на подключение к базе данных.


Как обычно, триггер создается в два этапа. Сначала триггерная функция:


CREATE FUNCTION check_login() RETURNS event_trigger
AS $$
BEGIN
    IF session_user = 'postgres' THEN RETURN; END IF;

    IF to_char(current_date, 'DY') IN ('SAT','SUN')
    THEN
        RAISE 'Хороших выходных, увидимся в понедельник!';
    END IF;
END;
$$ LANGUAGE plpgsql;

Затем сам триггер:


CREATE EVENT TRIGGER check_login
    ON LOGIN
    EXECUTE FUNCTION check_login();

Теперь можно быть уверенными, что по выходным, к всеобщему удовольствию, пользователи не будут мешать администратору.

Источник: https://habr.com/ru/companies/postgrespro/articles/782042/


Интересные статьи

Интересные статьи

Добрый день! Меня зовут Александр и я С# разработчик в компании Bimeister!Данная статья предназначена для людей, применяющих или планирующих применять полнотекстовый поиск по объектам в БД PostgreSQL,...
Привет! Меня зовут Андрей Гладилин, я работаю в Swordfish Security над составлением технической документации для ИТ-решений. Завершая  предыдущую статью, мы обсудили преимущества и недостатк...
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL): Часть 1. Рождение проекта ‣ Часть 2. Сеть SL ‣ Часть 3. Наземный комплекс ‣ Часть 4. Абонентский те...
Часть 1 Часть 2 Часть 3 В этой статье вы узнаете: -О том, что такое transfer learning и как это работает -О том, что такое semantic/instance segmentation и как это работает ...
И двух лет не прошло, как новая порция моих удивительных историй про приключения около IT кристаллизовалась и ждёт своих читателей. Приключения продолжаются! Присаживайся поудобнее, включай пригл...