Дата выпуска: 2021-04-02
Этот выпуск основан на PostgreSQL 12.6 и Postgres Pro Standard 12.6.1. Все усовершенствования, унаследованные от PostgreSQL 12.6, перечислены в Замечаниях к выпуску PostgreSQL 12.6. Другие важные изменения и улучшения перечислены ниже:
Устранено переполнение знакового целого в ptrack, имевшее место при сохранении данных карты ptrack на диске. Ранее при использовании карты ptrack большого размера (ptrack.mapsize > 17200 МБ) во время контрольной точки оно приводило к ошибке «FATAL/ERROR ptrack checkpoint: stat_buf.st_size != ptrack_map_size XXX != YYY» (ВАЖНО/ОШИБКА контрольная точка ptrack: stat_buf.st_size != ptrack_map_size XXX != YYY).
Исправлено построение покрывающего индекса с неключевыми столбцами, для которых на уровне таблицы определено правило сортировки. Ранее при попытке выполнить операцию ANALYZE для таблицы с таким индексом выдавалась ошибка «ERROR: could not determine which collation to use for string comparison» (ОШИБКА: не удалось определить, какое правило сортировки использовать для сравнения строк), хотя анализ столбцов по отдельности был возможен. Чтобы избежать появления этой ошибки в будущем, перестройте индексы, содержащие хотя бы один неключевой столбец подобного рода.
Если вы производите обновление выпуска Postgres Pro Standard, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Встроенные функции numeric_eq, numeric_ne, numeric_gt, numeric_ge, numeric_lt и numeric_le фактически являются герметичными, но они не имели соответствующей пометки в Postgres Pro Standard до версии 12.2.1, в результате чего запросы могли выполняться неоптимально. В частности, это отрицательно сказывалось на производительности запросов при использовании политик защиты на уровне строк. В версии 12.2.1 это было исправлено для новых инсталляций в результате корректировки исходных данных каталога, но существующие инсталляции сохранят некорректные пометки, пока вы не исправите записи этих функций в pg_proc. Чтобы их исправить, обновите экземпляр сервера с помощью pg_upgrade либо вручную измените их в существующем кластере, выполнив во всех его базах данных соответствующие команды ALTER FUNCTION. Например:
ALTER FUNCTION pg_catalog.numeric_eq LEAKPROOF
При обновлении с версии Postgres Pro 12.6.1 и ниже вы должны перестроить покрывающие индексы с неключевыми столбцами, для которых на уровне таблицы определено правило сортировки.