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-1025 Doc update for PG 17 and release notes #664

Merged
merged 10 commits into from
Oct 3, 2024
21 changes: 19 additions & 2 deletions docs/apt.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ This document describes how to install Percona Server for PostgreSQL from Percon

## Preconditions

1. Debian and other systems that use the `apt` package manager include the upstream PostgreSQL server package `postgresql-{{pgversion}}` by default. The components of Percona Distribution for PostgreSQL {{pgversion}} can only be installed together with Percona PostgreSQL server (`percona-postgresql-{{pgversion}}`). If you wish to use Percona Distribution for PostgreSQL, uninstall the `postgresql-{{pgversion}}` package provided by your distribution and then install the chosen components from Percona Distribution for PostgreSQL.
2. Install `curl` for [Telemetry](telemetry.md). We use it to better understand the use of our products and improve them.
1. Debian and other systems that use the `apt` package manager include the upstream PostgreSQL server package `postgresql-{{pgversion}}` by default. The components of Percona Distribution for PostgreSQL {{pgversion}} can only be installed together with Percona Server for PostgreSQL (`percona-postgresql-{{pgversion}}`). If you wish to use Percona Distribution for PostgreSQL, uninstall the `postgresql-{{pgversion}}` package provided by your distribution and then install the chosen components from Percona Distribution for PostgreSQL.
2. Install `curl` for [Telemetry](telemetry.md). We use it to better understand the use of our products and improve them. To install `curl`, run the following command:

```{.bash data-prompt="$"}
$ sudo apt install curl
```


## Procedure

Expand Down Expand Up @@ -150,6 +155,18 @@ The installation process automatically initializes and starts the default databa
$ sudo systemctl status postgresql.service
```

Check the Percona Distribution for PostgreSQL version:

```{.bash data-prompt="$"}
$ psql --with-extra-version
```

??? example "Sample output"

```{.text .no-copy}
psql (PostgreSQL) {{dockertag}} - Percona Distribution {{pspgversion}}-1
```

Congratulations! Your Percona Distribution for PostgreSQL is up and running.

## Next steps
Expand Down
1 change: 0 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Part of the solution, Percona Operator for PostgreSQL, makes it easy to orchestr
- No guesswork on finding the right version of a component – they all undergo thorough testing to ensure compatibility
- Freely available reference architectures for solutions like high-availability, backups and disaster recovery
- Spatial data handling support via PostGIS
- Transparent Data Encryption via `pg_tde`.
- Monitoring of the database health, performance and infrastructure usage via open source [Percona Management and Monitoring :octicons-link-external-16:](https://www.percona.com/doc/percona-monitoring-and-management/2.x/index.html) with PostgreSQL-specific dashboards
- Run PostgreSQL on Kubernetes using open source [Percona Operator for PostgreSQL :octicons-link-external-16:](https://docs.percona.com/percona-operator-for-postgresql/2.0/index.html). It not only automates deployment and management of PostgreSQL clusters on Kubernetes, but also includes enterprise-ready features for high-availability, backup and restore, replication, logging, and more
nastena1606 marked this conversation as resolved.
Show resolved Hide resolved
- Automate PostgreSQL provisioning and management in Kubernetes, in the cloud or on-premises with [Percona Everest :octicons-link-external-16:](https://docs.percona.com/everest/index.html#why-percona-everest) - the cloud-native database platform
Expand Down
4 changes: 1 addition & 3 deletions docs/postgresql-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ Percona Server for PostgreSQL is a binary-compatible, drop-in replacement for Po
* Storage Manager (SMGR) API Exposure: Allows PostgreSQL extensions to integrate custom storage managers. This change was inspired by the [patchset](https://www.postgresql.org/message-id/flat/CAJ7c6TOqqrzjYsU6LgDkcJ0yVgzdkx2juJjgAjzP2jPOpZ1qUA%40mail.gmail.com#8e68cfc57fcac14c8e24b00b41e61baf) introduced to the community.
* WAL Read/Write API Exposure to hook into WAL read and write functions.

These modifications provide index-level and WAL encryption of indexes via the `pg_tde` extension. Note that these encryption features are experimental and under active development.
These modifications are the preparations to provide index-level and WAL encryption of indexes via the [`pg_tde` :octicons-link-external-16:](https://percona-lab.github.io/pg_tde/main/) extension. These encryption features are still under active development and are planned for future releases.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we rephrase to say that these changes are not impacting on existing use cases unless a specific pg_tde extension build is used?

These changes can potentially be only used by opt-in to a tech preview of such a build.

Phrasing it in the current fashion suggests that the patch is under active development while the reality is that the extension is


Percona Server and upstream PostgreSQL function identically enabling you to migrate from one to another.

However, index-level encryption is available only with Percona Server for PostgreSQL. So if you encrypted indexes, you cannot switch to the upstream PostgreSQL without losing this data. [Learn more about TDE](https://percona-lab.github.io/pg_tde/main/)

[Get started :material-arrow-right:](installing.md){.md-button}
55 changes: 38 additions & 17 deletions docs/release-notes-v17.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,31 @@
[Upgrade](major-upgrade.md){.md-button}


We are pleased to announce the launch of Percona Distribution for PostgreSQL 17.0 - a solution with the collection of tools from PostgreSQL community that are tested to work together and serve to assist you in deploying and managing PostgreSQL. The aim of Percona Distribution for PostgreSQL is to address the operational issues like High-Availability, Disaster Recovery, Security, Observability, Spatial data handling, Performance and Scalability and others that enterprises are facing.
We are pleased to announce the launch of Percona Distribution for PostgreSQL 17.0.1 - a solution with the collection of tools from PostgreSQL community that are tested to work together and serve to assist you in deploying and managing PostgreSQL. The aim of Percona Distribution for PostgreSQL is to address the operational issues like High-Availability, Disaster Recovery, Security, Observability, Spatial data handling, Performance and Scalability and others that enterprises are facing.

This release of Percona Distribution for PostgreSQL is based on **Percona Server for PostgreSQL 17** - a binary compatible drop in replacement of [PostgreSQL 17 :octicons-link-external-16:](https://www.postgresql.org/docs/17/release-17.html). Percona Server for PostgreSQL 17 extends the Storage Manager API to hook in custom storage managers and introduce the encryption of indexes (experimental feature) as part of the Transparent Data Encryption (TDE) solution.
This release of Percona Distribution for PostgreSQL is based on **Percona Server for PostgreSQL 17.0.1** - a binary compatible drop in replacement of [PostgreSQL Community 17.0 :octicons-link-external-16:](https://www.postgresql.org/docs/17/release-17.html).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add "open source"? as in "a binary compatible, open source, drop in ...


Both Percona Server for PostgreSQL 17 and PostgreSQL Community 17 function identically enabling you to migrate from one to another. However, index-level encryption is available only with Percona Server for PostgreSQL. So if you encrypted indexes and wish to migrate to the upstream PostgreSQL, you must first migrate data to the unencrypted table and then proceed with the migration.
Both Percona Server for PostgreSQL and PostgreSQL Community function identically enabling you to migrate from one to another.

Percona Server for PostgreSQL 17.0.1 has the extra digit in version which represents Percona version number.

To check what software you're running, run the following SQL query:

```sql
SELECT version();
```

??? example "Sample output"

```sql
PostgreSQL 17.0.1 (Percona Server for PostgreSQL)
```

Alternatively, you can pass the `--with-extra-version` flag when you establish the `psql` session:

```{.bash data-prompt="$"}
$ psql --with-extra-version
```

## Release Highlights

Expand Down Expand Up @@ -77,20 +97,21 @@ The following is the list of extensions available in Percona Distribution for Po

| Extension | Version | Description |
| ------------------- | -------------- | ---------------------------- |
|[HAProxy :octicons-link-external-16:](http://www.haproxy.org/) | 2.8.2 | a high-availability and load-balancing solution |
| [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/en/latest/) | 3.1.0 | a HA (High Availability) solution for PostgreSQL |
| [PgAudit :octicons-link-external-16:](https://www.pgaudit.org/) | 16.0 | 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.0.1 | provides an additional layer of logging and control when unprivileged users must escalate themselves to superusers or object owner roles in order to perform needed maintenance tasks.|
| [pgBackRest :octicons-link-external-16:](https://pgbackrest.org/) | 2.47 | a backup and restore solution for PostgreSQL |
|[pgBadger :octicons-link-external-16:](https://github.com/darold/pgbadger) | 12.2 | a fast PostgreSQL Log Analyzer.|
|[PgBouncer :octicons-link-external-16:](https://www.pgbouncer.org/) |1.20.1 | a lightweight connection pooler for PostgreSQL|
| [pg_gather :octicons-link-external-16:](https://github.com/jobinau/pg_gather)| v22 | an SQL script for running the diagnostics of the health of PostgreSQL cluster |
| [pgpool2 :octicons-link-external-16:](https://git.postgresql.org/gitweb/?p=pgpool2.git;a=summary) | 4.4.4 | 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.4.8 | rebuilds PostgreSQL database objects |
| [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor)|2.0.2 | collects and aggregates statistics for PostgreSQL and provides histogram information.|
| [PostGIS :octicons-link-external-16:](https://github.com/postgis/postgis) | 3.3.4 | a spatial extension for PostgreSQL.|
| [PostgreSQL Common :octicons-link-external-16:](https://salsa.debian.org/postgresql/postgresql-common)| 253 | PostgreSQL database-cluster manager. It provides a structure under which multiple versions of PostgreSQL may be installed and/or multiple clusters maintained at one time.|
|[wal2json :octicons-link-external-16:](https://github.com/eulerto/wal2json) |2.5 | a PostgreSQL logical decoding JSON output plugin|
| [etcd](https://etcd.io/)| 3.5.16 | A distributed, reliable key-value store for setting up high available Patroni clusters |
|[HAProxy :octicons-link-external-16:](http://www.haproxy.org/) | 2.8.11 | a high-availability and load-balancing solution |
| [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/en/latest/) | 4.0.2 | a HA (High Availability) solution for PostgreSQL |
| [PgAudit :octicons-link-external-16:](https://www.pgaudit.org/) | 17.0 | 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.0.2 | provides an additional layer of logging and control when unprivileged users must escalate themselves to superusers or object owner roles in order to perform needed maintenance tasks.|
| [pgBackRest :octicons-link-external-16:](https://pgbackrest.org/) | 2.53.1 | a backup and restore solution for PostgreSQL |
|[pgBadger :octicons-link-external-16:](https://github.com/darold/pgbadger) | 12.4 | a fast PostgreSQL Log Analyzer.|
|[PgBouncer :octicons-link-external-16:](https://www.pgbouncer.org/) |1.23.1 | a lightweight connection pooler for PostgreSQL|
| [pg_gather :octicons-link-external-16:](https://github.com/jobinau/pg_gather)| v27 | an SQL script for running the diagnostics of the health of PostgreSQL cluster |
| [pgpool2 :octicons-link-external-16:](https://git.postgresql.org/gitweb/?p=pgpool2.git;a=summary) | 4.5.4 | 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.1 | 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.|
| [PostGIS :octicons-link-external-16:](https://github.com/postgis/postgis) | 3.3.7 | a spatial extension for PostgreSQL.|
| [PostgreSQL Common :octicons-link-external-16:](https://salsa.debian.org/postgresql/postgresql-common)| 264 | PostgreSQL database-cluster manager. It provides a structure under which multiple versions of PostgreSQL may be installed and/or multiple clusters maintained at one time.|
|[wal2json :octicons-link-external-16:](https://github.com/eulerto/wal2json) |2.6 | a PostgreSQL logical decoding JSON output plugin|

Percona Distribution for PostgreSQL on Red Hat Enterprise Linux 8 and compatible derivatives also includes the following packages:

Expand Down
2 changes: 1 addition & 1 deletion docs/tarball.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ The steps below install the tarballs for OpenSSL 3.x on x86_64 architecture. Use
3. Fetch the binary tarball.

```{.bash data-prompt="$"}
$ wget https://downloads.percona.com/downloads/postgresql-distribution-16/{{dockertag}}/binary/tarball/percona-postgresql-{{dockertag}}-ssl3-linux-x86_64.tar.gz
$ wget https://downloads.percona.com/downloads/postgresql-distribution-17/{{dockertag}}/binary/tarball/percona-postgresql-{{dockertag}}-ssl3-linux-x86_64.tar.gz
```

4. Extract the tarball to the directory for binaries that you created on step 1.
Expand Down
12 changes: 12 additions & 0 deletions docs/yum.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,18 @@ Start the PostgreSQL service:
$ sudo systemctl start postgresql-{{pgversion}}
```

Check the Percona Distribution for PostgreSQL version:

```{.bash data-prompt="$"}
$ psql --with-extra-version
```

??? example "Sample output"

```{.text .no-copy}
psql (PostgreSQL) {{dockertag}} - Percona Distribution {{pspgversion}}-1
```

Congratulations! Your Percona Distribution for PostgreSQL is up and running.

## Next steps
Expand Down
2 changes: 1 addition & 1 deletion mkdocs-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ plugins:
output_path: '_pdf/PerconaDistributionPostgreSQL-17.pdf'
cover_title: 'Distribution for PostgreSQL Documentation'

cover_subtitle: 17.0 (September 26, 2024)
cover_subtitle: 17.0 (October 3, 2024)
author: 'Percona Technical Documentation Team'
cover_logo: docs/_images/Percona_Logo_Color.png
debug_html: false
Expand Down
3 changes: 2 additions & 1 deletion variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ release: 'release-notes-v17.0'
dockertag: '17.0'
pgversion: '17'
pgsmversion: '2.1.0'
pspgversion: '17.0.1'



date:
17_0:
17_0: 2024-10-03