Продолжение поста о нововведениях в PostgreSQL 18
1. Добавлен метод аутентификации OAuth
OAuth 2.0 это протокол авторизации, который позволяет одному приложению получить доступ к данным другого сервиса от имени пользователя без передачи учётных данных. Отличное нововведение соответствующее современным корпоративным стандартам авторизации.
2. Создание логических репликаций(публикаций) с реплик. Также будут логироваться конфликты при логической репликации. На основании этого нововведения в будущем возможны автоматические разрешения конфликтов логической репликации.
3. Много разных изменений касаемо инструмента explain Автоматическое включение вывода статистики буферов (BUFFERS) в результатах команды EXPLAIN ANALYZE. Добавление статистики журнала упреждающей записи (WAL), использования процессора (CPU) и среднего количества операций чтения в выводе команды EXPLAIN ANALYZE VERBOSE. Полный подсчёт записей в WAL добавляется в вывод команд EXPLAIN (опция WAL), VACUUM/ANALYZE (опция VERBOSE) Отображение числа обращений к индексам для каждого узла сканирования индекса в команде EXPLAIN ANALYZE. Изменён вывод команды EXPLAIN, теперь отображаются дробные значения количества строк. Подробности о потреблении памяти и диска добавлены в вывод узлов Material, Window Aggregate и общих табличных выражений (common table expressions) командой EXPLAIN. Информация о параметрах оконных функций включена в вывод команды EXPLAIN. Статистика использования кэш-памяти рабочими потоками операции Parallel Bitmap Heap Scan доступна в выводе команды EXPLAIN ANALYZE. Индикация отключенных узлов в результате команды EXPLAIN ANALYZE.
4. В представление pg_stat_io добавлены новые колонки: read_bytes, write_bytes, extend_bytes. Добавлена статистика активности ввода-вывода WAL.
5. Разрешено использование уникальных индексов, не относящихся к BTree, в качестве ключей секционирования и в материализованных представлениях. Возможность параллельного построения индексов GIN/ Реализована возможность пропуска участков при поиске по древовидному индексу (btree). Эффективность достигается, если ранее неиспользуемые колонки содержат малое количество уникальных значений.
6. pg_stat_all_tables теперь отслеживает, сколько времени занимает вакуум и автовакуум для каждой таблицы