Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PG-1409 Release notes 17.4.1 #775

Merged
merged 4 commits into from
Mar 27, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 3 additions & 15 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -12,12 +12,12 @@ jobs:
steps:
#Pull the latest changes
- name: Chekout code
uses: actions/checkout@v2
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
#Prepare the env
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3.x'

@@ -46,18 +46,6 @@ jobs:
mike set-default 17 -b publish -p
mike retitle 17 "17 (LATEST)" -b publish -p

# - name: Install Node.js 14.x
# uses: percona-platform/setup-node@v2
# with:
# node-version: "14"
#
# - name: Spelling
# run: |
# npx markdown-spellcheck --report --en-us --ignore-acronyms --ignore-numbers "docs/**/*.md" || true
# Ignore errors, just inspect results
# - name: Grammar
# run: |
# npx write-good --no-passive docs/**/*.md || true
# # Ignore errors, just inspect results



48 changes: 48 additions & 0 deletions .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check spelling in Percona Distribution PostgreSQL 17 docs
on:
pull_request:
branches:
- 17

jobs:
build:
name: Check spelling
runs-on: ubuntu-latest

steps:
#Pull the latest changes
- name: Chekout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
#Prepare the env
- name: Set up Python
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3.x'

#Configure git
- name: Configure git
env:
ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
run: |
git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"
git config user.name "GitHub Action"
git config user.email "github-action@users.noreply.github.com"
git config user.password "${ROBOT_TOKEN}"
echo "GIT_USER=percona-platform-robot:${ROBOT_TOKEN}" >> $GITHUB_ENV

- name: Install Node.js 14.x
uses: percona-platform/setup-node@v2
with:
node-version: "14"

- name: Spelling
run: |
npx markdown-spellcheck --report --en-us --ignore-acronyms --ignore-numbers "docs/**/*.md" || true
# Ignore errors, just inspect results

- name: Grammar
run: |
npx write-good --no-passive docs/**/*.md || true
# Ignore errors, just inspect results
2 changes: 1 addition & 1 deletion docs/apt.md
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ Run all the commands in the following sections as root or using the `sudo` comma

### Install packages

=== "Install using meta-package"
=== "Install using meta-package (deprecated)"

The [meta package](repo-overview.md#percona-ppg-server){:target=”_blank”} enables you to install several components of the distribution in one go.

2 changes: 1 addition & 1 deletion docs/contrib.md
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ Find the list of controb modules and extensions included in Percona Distribution
|[pg_freespacemap](https://www.postgresql.org/docs/{{pgversion}}/pgfreespacemap.html) |Required |Provides a means of examining the free space map (FSM), which PostgreSQL uses to track the locations of available space in tables and indexes. This can be useful for understanding space utilization and planning for maintenance operations. |
|[pg_prewarm](https://www.postgresql.org/docs/{{pgversion}}/pgprewarm.html) | | Provides a convenient way to load relation data into either the operating system buffer cache or the PostgreSQL buffer cache. This can be useful for reducing the time needed for a newly started database to reach its full performance potential by preloading frequently accessed data.|
|[pgrowlocks](https://www.postgresql.org/docs/{{pgversion}}/pgrowlocks.html) | Required |Provides a function to show row locking information for a specified table. |
|[pg_stat_statements](https://www.postgresql.org/docs/{{pgversion}}/pgstatstatements.html) | Required |A module for tracking planning and execution statistics of all SQL statements executed by a server. Consider using an advanced version of `pg_stat_statements` - [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor) |
|[pg_stat_statements](https://www.postgresql.org/docs/{{pgversion}}/pgstatstatements.html) | Required |A module for tracking planning and execution statistics of all SQL statements executed by a server. Consider using an advanced version of `pg_stat_statements` - [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor/index.html) |
|[pgstattuple](https://www.postgresql.org/docs/{{pgversion}}/pgstattuple.html) | Required |Povides various functions to obtain tuple-level statistics. It offers detailed information about tables and indexes, such as the amount of free space and the number of live and dead tuples. |
|[pg_surgery](https://www.postgresql.org/docs/{{pgversion}}/pgsurgery.html) | Required | Provides various functions to perform surgery on a damaged relation. These functions are unsafe by design and using them may corrupt (or further corrupt) your database. Use them with caution and only as a last resort|
|[pg_trgm](https://www.postgresql.org/docs/{{pgversion}}/pgtrgm.html) | |Provides functions and operators for determining the similarity of alphanumeric text based on trigram matching. A trigram is a contiguous sequence of three characters. The extension can be used for text search and pattern matching operations. |
4 changes: 2 additions & 2 deletions docs/release-notes-v17.2.md
Original file line number Diff line number Diff line change
@@ -7,8 +7,8 @@ This release of Percona Distribution for PostgreSQL is based on Percona Server f
## Release Highlights

* This release includes fixes for [CVE-2024-10978](https://www.postgresql.org/support/security/CVE-2024-10978/) and for certain PostgreSQL extensions that break because they depend on the modified Application Binary Interface (ABI). These regressions were introduced in PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21. For this reason, the release of Percona Distribution for PostgreSQL 17.1.1 has been skipped.
* Percona Distribution for PostgreSQL includes [`pgvector` :octicons-link-external-16](https://github.com/pgvector/pgvector) - an open source extension that enables you to use PostgreSQL as a vector database. It brings vector data type and vector operations (mainly similarity search) to PostgreSQL. You can install `pgvector` from repositories, tarballs, and it is also available as a Docker image.
* The new version of `pg_tde` extension features index encryption and the support of storing encryption keys in KMIP-compatible servers. These feature come with the Beta version of the `tde_heap` access method. Learn more in the [pg_tde release notes :octicons-link-external-16:](https://docs.percona.com/pg-tde/release-notes/release-notes.html)
* Percona Distribution for PostgreSQL includes [`pgvector` :octicons-link-external-16:](https://github.com/pgvector/pgvector) - an open source extension that enables you to use PostgreSQL as a vector database. It brings vector data type and vector operations (mainly similarity search) to PostgreSQL. You can install `pgvector` from repositories, tarballs, and it is also available as a Docker image.
* The new version of `pg_tde` extension features index encryption and the support of storing encryption keys in KMIP-compatible servers. These feature come with the Beta version of the `tde_heap` access method. Learn more in the [pg_tde release notes :octicons-link-external-16:](https://docs.percona.com/pg-tde/release-notes/beta2.html)
* The `pg_tde` extension itself is now a part of the Percona Server for PostgreSQL server package and a Docker image. If you installed the extension before, from its individual package, uninstall it first to avoid conflicts during the upgrade. See the [Minor Upgrade of Percona Distribution for PostgreSQL](minor-upgrade.md#before-you-start) for details.
For how to run `pg_tde` in Docker, check the [Enable encryption](docker.md#enable-encryption) section in the documentation.
* Percona Distribution for PostgreSQL now statically links `llvmjit.so` library for Red Hat Enterprise Linux 8 and 9 and compatible derivatives. This resolves the conflict between the LLVM version required by Percona Distribution for PostgreSQL and the one supplied with the operating system. This also enables you to use the LLVM modules supplied with the operating system for other software you require.
57 changes: 57 additions & 0 deletions docs/release-notes-v17.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Percona Distribution for PostgreSQL 17.4.1 ({{date.17_4}})

--8<-- "release-notes-intro.md"

This release of Percona Distribution for PostgreSQL is based on Percona Server for PostgreSQL 17.4.1 - a binary compatible, open source drop in replacement of [PostgreSQL Community 17.4](https://www.postgresql.org/docs/17/release-17-4.html).

## Release Highlights

This release fixes [CVE-2025-1094](https://www.postgresql.org/support/security/CVE-2025-1094/), which closed a vulnerability in the `libpq` PostgreSQL client library but introduced a regression related to string handling for non-null terminated strings. The error would be visible based on how a PostgreSQL client implemented this behavior. This regression affects versions 17.3, 16.7, 15.11, 14.16, and 13.19. For this reason, version 17.3 was skipped.

### A new version of `pg_tde`

Percona Distribution for PostgreSQL includes the Release Candidate of `pg_tde` extension that brings in Transparent Data Encryption. This version of `pg_tde` provides a bunch of improvements, among which is the redesigned WAL encryption, simplified configuration for single-tenant environments, the ability to change key provider configuration offline, and more. Learn about these features in the [`pg_tde` release notes :octicons-link-external-16:](https://docs.percona.com/pg-tde/release-notes/rc.html).

### Improved security and user experience for Docker images

* Percona Distribution for PostgreSQL Docker image is now based on Universal Base Image (UBI) version 9, which includes the latest security fixes. This makes the image compliant with the Red Hat certification and ensures the seamless work of containers on Red Hat OpenShift Container Platform.

* You no longer have to specify the `{{dockertag}}-multi` tag when you run Percona Distribution for PostgreSQL in Docker. Instead, use the `percona/percona-distribution-postgresql:{{dockertag}}`. Docker automatically identifies the architecture of your operating system and pulls the corresponding image. Refer to [Run in Docker](docker.md) for how to get started.

### PostGIS is included into tarballs

We have extended Percona Distribution for PostgreSQL tarballs with PostGIS - an open-source extension to handle spacial data. This way you can install and run PostgreSQL as a geospatial database on hosts without a direct access to the Internet. Learn more about [installing from tarballs](tarball.md) and [Spacial data manipulation](solutions/postgis.md).

### Deprecation of meta packages

[Meta-packages for Percona Distribution for PostgreSQL](repo-overview.md#repository-contents) are deprecated and will be removed in future releases.

## Supplied third-party extensions

Review each extension’s release notes for What’s new, improvements, or bug fixes. The following is the list of extensions available in Percona Distribution for PostgreSQL.

| Extension | Version | Description |
|--------------------------------------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------------------|
| [etcd :octicons-link-external-16:](https://etcd.io/) | 3.5.18 | A distributed, reliable key-value store for setting up high available Patroni clusters |
| [HAProxy :octicons-link-external-16:](http://www.haproxy.org/) | 2.8.13 | A high-availability and load-balancing solution |
| [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/en/latest/) | 4.0.5 | A HA (High Availability) solution for PostgreSQL |
| [PgAudit :octicons-link-external-16:](https://www.pgaudit.org/) | 17.1 | Provides detailed session or object audit logging via the standard logging facility provided by PostgreSQL |
| [pgAudit set_user :octicons-link-external-16:](https://github.com/pgaudit/set_user) | 4.1.0 | Provides an additional layer of logging and control when unprivileged users must escalate roles for maintenance. |
| [pgBackRest :octicons-link-external-16:](https://pgbackrest.org/) | 2.54.2 | A backup and restore solution for PostgreSQL |
| [pgBadger :octicons-link-external-16:](https://github.com/darold/pgbadger) | 13.1 | A fast PostgreSQL Log Analyzer |
| [PgBouncer :octicons-link-external-16:](https://www.pgbouncer.org/) | 1.24.0 | A lightweight connection pooler for PostgreSQL |
| [pg_gather :octicons-link-external-16:](https://github.com/jobinau/pg_gather) | v29 | An SQL script for running the diagnostics of the health of a PostgreSQL cluster |
| [pgpool2 :octicons-link-external-16:](https://git.postgresql.org/gitweb/?p=pgpool2.git;a=summary) | 4.5.5 | A middleware between PostgreSQL server and client for high availability, connection pooling, and load balancing |
| [pg_repack :octicons-link-external-16:](https://github.com/reorg/pg_repack) | 1.5.2 | Rebuilds PostgreSQL database objects |
| [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor) | {{pgsmversion}} | Collects and aggregates statistics for PostgreSQL and provides histogram information |
| [pgvector :octicons-link-external-16:](https://github.com/pgvector/pgvector) | v0.8.0 | A vector similarity search for PostgreSQL |
| [PostGIS :octicons-link-external-16:](https://github.com/postgis/postgis) | 3.3.8 | A spatial extension for PostgreSQL |
| [PostgreSQL Common :octicons-link-external-16:](https://salsa.debian.org/postgresql/postgresql-common) | 267 | PostgreSQL database-cluster manager. Supports multiple PostgreSQL versions and clusters simultaneously |
| [wal2json :octicons-link-external-16:](https://github.com/eulerto/wal2json) | 2.6 | A PostgreSQL logical decoding JSON output plugin |


For Red Hat Enterprise Linux 8 and compatible derivatives, Percona Distribution for PostgreSQL also includes the supplemental `python3-etcd` 0.4.5 packages, which are used for setting up Patroni clusters.

Percona Distribution for PostgreSQL is also shipped with the [libpq](https://www.postgresql.org/docs/17/libpq.html) library. It contains "a set of
library functions that allow client programs to pass queries to the PostgreSQL
backend server and to receive the results of these queries."
1 change: 1 addition & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Percona Distribution for PostgreSQL release notes

* [Percona Distribution for PostgreSQL 17.4.1](release-notes-v17.4.md) ({{date.17_4}})
* [Percona Distribution for PostgreSQL 17.2.1](release-notes-v17.2.md) ({{date.17_2}})
* [Percona Distribution for PostgreSQL 17.0.1](release-notes-v17.0.md) ({{date.17_0}})
2 changes: 1 addition & 1 deletion docs/solutions/postgis-deploy.md
Original file line number Diff line number Diff line change
@@ -68,7 +68,7 @@ The following document provides guidelines how to install PostGIS and how to run

=== ":octicons-download-16: From tarballs"

PostGIS is included into binary tarball and is a part of the `percona-postgresql{{pgversion}}` binary. Use the [install from tarballs](../tarball/.md) tutorial to install it.
PostGIS is included into binary tarball and is a part of the `percona-postgresql{{pgversion}}` binary. Use the [install from tarballs](../tarball.md) tutorial to install it.


## Enable PostGIS extension
2 changes: 1 addition & 1 deletion docs/templates/pdf_cover_page.tpl
Original file line number Diff line number Diff line change
@@ -7,6 +7,6 @@
{% if config.site_description %}
<h1>{{ config.site_description }}</h1>
{% endif %}
<h2>17.4 (March 26, 2025)</h2>
<h2>17.4 (March 27, 2025)</h2>
<!--<h3>Percona Technical Documentation Team</h3>-->

17 changes: 17 additions & 0 deletions mkdocs-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# MkDocs configuration for PDF builds
# Usage: ENABLE_PDF_EXPORT=1 mkdocs build -f mkdocs-pdf.yml

INHERIT: mkdocs-base.yml

copyright: Percona LLC, &#169; 2025

extra_css:
- https://unicons.iconscout.com/release/v3.0.3/css/line.css
- https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css
- css/percona.css
- css/extra.css
- css/osano.css

markdown_extensions:
pymdownx.tabbed: {}
admonition: {}
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -75,6 +75,7 @@ nav:
- Uninstall: uninstalling.md
- Release Notes:
- "Release notes index": "release-notes.md"
- release-notes-v17.4.md
- release-notes-v17.2.md
- release-notes-v17.0.md
- Reference:
12 changes: 7 additions & 5 deletions variables.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
# PG Variables set for HTML output
# See also mkdocs.yml plugins.with-pdf.cover_subtitle and output_path

release: 'release-notes-v17.2'
dockertag: '17.2'
release: 'release-notes-v17.4'
dockertag: '17.4'
pgversion: '17'
pgsmversion: '2.1.0'
pspgversion: '17.2.1'
pgsmversion: '2.1.1'
pspgversion: '17.4.1'



date:
17_0: 2024-10-03
17_4: 2025-03-27
17_2: 2024-12-26
17_0: 2024-10-03