Skip to content
Merged
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion docs/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Percona Distribution for PostgreSQL includes the extensions that have been teste
* [Extensions authored by Percona](percona-ext.md)
* [Third-party components](third-party.md)

Percona also supports [extra modules](https://repo.percona.com/ppg-17-extras/), not included in Percona Distribution for PostgreSQL but tested to work with it.
Percona also supports [extra modules](https://repo.percona.com/ppg-18-extras/), not included in Percona Distribution for PostgreSQL but tested to work with it.

Additionally, see the list of [PostgreSQL software](https://www.percona.com/services/support/support-tiers-postgresql) covered by Percona Support.

Expand Down
4 changes: 2 additions & 2 deletions docs/faq.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Frequently Asked Questions

This FAQ answers common questions about using Percona Server for PostgreSQL 17.
This FAQ answers common questions about using Percona Server for PostgreSQL 18.

If you're looking for help with errors or runtime issues, see the [Troubleshooting guide](troubleshooting.md).

## Does MINOR cover both upstream feature and patch releases?

Yes, if we ship a future minor of PG17+ this always includes the patchset from Percona as well.
Yes, if we ship a future minor of PG18+ this always includes the patch set from Percona as well.

## When upstream bumps MINOR, should PATCH always reset to 1?

Expand Down
12 changes: 6 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Percona Distribution for PostgreSQL 17 Documentation
# Percona Distribution for PostgreSQL 18 Documentation

Percona Distribution for PostgreSQL is a suite of open source software, tools and services required to deploy and maintain a reliable production cluster for PostgreSQL.
Percona Distribution for PostgreSQL is a suite of open source software, tools and services required to deploy and maintain a reliable production cluster for PostgreSQL.

Percona Distribution for PostgreSQL includes [Percona Server for PostgreSQL](postgresql-server.md) packaged with extensions from open source community that are certified and tested to work together for high availability, backups, security, and monitoring that help ensure the cluster's peak performance.

Percona Distribution for PostgreSQL includes [Percona Server for PostgreSQL](postgresql-server.md) packaged with extensions from open source community that are certified and tested to work together for high availability, backups, security, and monitoring that help ensure the cluster's peak performance.

Part of the solution, Percona Operator for PostgreSQL, makes it easy to orchestrate the cluster reliably and repeatably in Kubernetes.

[What's included in Percona Distribution for PostgreSQL? :material-arrow-right:](extensions.md){.md-button}
Expand All @@ -12,10 +12,10 @@ Part of the solution, Percona Operator for PostgreSQL, makes it easy to orchestr

- No vendor lock in - all components of Percona Distribution for PostgreSQL are fully open source
- 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
- Freely available reference architectures for solutions like high-availability, backups and disaster recovery
- Spatial data handling support via PostGIS
- 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
- 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
- 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

<div data-grid markdown><div data-banner markdown>
Expand Down
66 changes: 33 additions & 33 deletions docs/major-upgrade.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Upgrading Percona Distribution for PostgreSQL from 16 to 17
# Upgrading Percona Distribution for PostgreSQL from 17 to 18

This document describes the in-place upgrade of Percona Distribution for PostgreSQL using the `pg_upgrade` tool.

To ensure a smooth upgrade path, follow these steps:

* Upgrade to the latest minor version within your current major version (e.g., from 16.6 to 16.9).
* Then, perform the major upgrade to your desired version (e.g., from 16.9 to 17.5).
* Upgrade to the latest minor version within your current major version (e.g., from 17.4 to 17.5).
* Then, perform the major upgrade to your desired version (e.g., from 17.5 to 18.1).

!!! note
When running a major upgrade on **RHEL 8 and compatible derivatives**, consider the following:
Expand Down Expand Up @@ -48,23 +48,23 @@ The exact steps may differ depending on the package manager of your operating sy
Run **all** commands as root or via **sudo**:
{.power-number}

1. Install Percona Distribution for PostgreSQL 17 packages.
1. Install Percona Distribution for PostgreSQL 18 packages.

!!! note
When installing version 17, if prompted via a pop-up to upgrade to the latest available version, select **No**.
When installing version 18, if prompted via a pop-up to upgrade to the latest available version, select **No**.

* [Install percona-release :octicons-link-external-17:](https://docs.percona.com/percona-software-repositories/installing.html). If you have installed it before, [update it to the latest version](https://docs.percona.com/percona-software-repositories/updating.html)

* Enable Percona repository

```{.bash data-prompt="$"}
$ sudo percona-release setup ppg-17
$ sudo percona-release setup ppg-18
```

* Install Percona Distribution for PostgreSQL 17 package
* Install Percona Distribution for PostgreSQL 18 package

```{.bash data-prompt="$"}
$ sudo apt install percona-postgresql-17
$ sudo apt install percona-postgresql-18
```

2. Stop the `postgresql` service.
Expand All @@ -73,7 +73,7 @@ Run **all** commands as root or via **sudo**:
$ sudo systemctl stop postgresql.service
```

This stops both Percona Distribution for PostgreSQL 16 and 17.
This stops both Percona Distribution for PostgreSQL 17 and 18.

3. Run the database upgrade.

Expand All @@ -83,10 +83,10 @@ Run **all** commands as root or via **sudo**:
$ sudo su postgres
```

* Check if you can upgrade Percona Distribution for PostgreSQL from 16 to 17
* Check if you can upgrade Percona Distribution for PostgreSQL from 17 to 18

```{.bash data-prompt="$"}
$ pg_upgradecluster 16 main --check
$ pg_upgradecluster 17 main --check
# Sample output: pg_upgradecluster pre-upgrade checks ok
```

Expand All @@ -95,30 +95,30 @@ Run **all** commands as root or via **sudo**:
* Upgrade the Percona Distribution for PostgreSQL

```{.bash data-prompt="$"}
$ pg_upgradecluster 16 main
$ pg_upgradecluster 17 main
```

<details>
<summary>Sample output (click to expand)</summary>
```bash
Upgrading cluster 16/main to 17/main ...
Upgrading cluster 17/main to 18/main ...
Stopping old cluster...
Restarting old cluster with restricted connections...
...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with:
pg_dropcluster 16 main
pg_dropcluster 17 main

Ver Cluster Port Status Owner Data directory Log file
17 main 5432 online postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log
18 main 5432 online postgres /var/lib/postgresql/18/main /var/log/postgresql/postgresql-18-main.log

Sample output:
Upgrading cluster 16/main to 17/main ...
Upgrading cluster 17/main to 18/main ...
Stopping old cluster...
Restarting old cluster with restricted connections...
Notice: extra pg_ctl/postgres options given, bypassing systemctl for start operation
Creating new PostgreSQL cluster 17/main ...
/usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions --encoding UTF8 --lc-collate C.UTF-8 --lc-ctype C.UTF-8 --locale-provider libc
Creating new PostgreSQL cluster 18/main ...
/usr/lib/postgresql/18/bin/initdb -D /var/lib/postgresql/18/main --auth-local peer --auth-host scram-sha-256 --no-instructions --encoding UTF8 --lc-collate C.UTF-8 --lc-ctype C.UTF-8 --locale-provider libc
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

Expand All @@ -127,7 +127,7 @@ Run **all** commands as root or via **sudo**:

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/17/main ... ok
fixing permissions on existing directory /var/lib/postgresql/18/main ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
Expand Down Expand Up @@ -174,12 +174,12 @@ Run **all** commands as root or via **sudo**:

Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with
pg_dropcluster 16 main
pg_dropcluster 17 main

Ver Cluster Port Status Owner Data directory Log file
16 main 5433 down postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
17 main 5433 down postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log
Ver Cluster Port Status Owner Data directory Log file
17 main 5432 online postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log
18 main 5432 online postgres /var/lib/postgresql/18/main /var/log/postgresql/postgresql-18-main.log
```
</details>

Expand Down Expand Up @@ -209,15 +209,15 @@ Run **all** commands as root or via **sudo**:
Before deleting the old cluster, verify that the newly upgraded cluster is fully operational. Keeping the old cluster does not negatively affect the functionality or performance of your upgraded cluster.

```{.bash data-prompt="$"}
$ pg_dropcluster 16 main
$ pg_dropcluster 17 main
```

## On Red Hat Enterprise Linux and CentOS using `yum`

Run **all** commands as root or via **sudo**:
{.power-number}

1. Install Percona Distribution for PostgreSQL 17 packages
1. Install Percona Distribution for PostgreSQL 18 packages

* [Install percona-release :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/installing.html)

Expand Down Expand Up @@ -254,10 +254,10 @@ Run **all** commands as root or via **sudo**:
$ /usr/pgsql-{{pgversion}}/bin/initdb -D /var/lib/pgsql/{{pgversion}}/data
```

3. Stop the `postgresql` 16 service
3. Stop the `postgresql` 17 service

```{.bash data-prompt="$"}
$ systemctl stop postgresql-16
$ systemctl stop postgresql-17
```

4. Run the database upgrade.
Expand All @@ -268,13 +268,13 @@ Run **all** commands as root or via **sudo**:
$ sudo su postgres
```

* Check the ability to upgrade Percona Distribution for PostgreSQL from 16 to 17:
* Check the ability to upgrade Percona Distribution for PostgreSQL from 17 to 18:

```{.bash data-prompt="$"}
$ /usr/pgsql-{{pgversion}}/bin/pg_upgrade \
--old-bindir /usr/pgsql-16/bin \
--old-bindir /usr/pgsql-17/bin \
--new-bindir /usr/pgsql-{{pgversion}}/bin \
--old-datadir /var/lib/pgsql/16/data \
--old-datadir /var/lib/pgsql/17/data \
--new-datadir /var/lib/pgsql/{{pgversion}}/data \
--check
```
Expand Down Expand Up @@ -305,9 +305,9 @@ Run **all** commands as root or via **sudo**:

```{.bash data-prompt="$"}
$ /usr/pgsql-{{pgversion}}/bin/pg_upgrade \
--old-bindir /usr/pgsql-16/bin \
--old-bindir /usr/pgsql-17/bin \
--new-bindir /usr/pgsql-{{pgversion}}/bin \
--old-datadir /var/lib/pgsql/16/data \
--old-datadir /var/lib/pgsql/17/data \
--new-datadir /var/lib/pgsql/{{pgversion}}/data \
--link
```
Expand Down Expand Up @@ -341,7 +341,7 @@ Run **all** commands as root or via **sudo**:
$ /usr/pgsql-{{pgversion}}/bin/vacuumdb --all --analyze-in-stages
```

8. Delete Percona Distribution for PostgreSQL 16 configuration files
8. Delete Percona Distribution for PostgreSQL 17 configuration files

```{.bash data-prompt="$"}
$ ./delete_old_cluster.sh
Expand All @@ -350,7 +350,7 @@ Run **all** commands as root or via **sudo**:
9. Delete Percona Distribution old data files

```{.bash data-prompt="$"}
$ rm -rf /var/lib/pgsql/16/data
$ rm -rf /var/lib/pgsql/17/data
```

!!! note "For major upgrades (RHEL only)"
Expand Down
7 changes: 3 additions & 4 deletions docs/minor-upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Run **all** commands as root or via **sudo**:
=== ":material-redhat: On Red Hat Enterprise Linux / derivatives"

```{.bash data-prompt="$"}
$ sudo systemctl stop postgresql-16
$ sudo systemctl stop postgresql-17
```

2. [Update `percona-release` to the latest version](https://docs.percona.com/percona-software-repositories/updating.html).
Expand All @@ -71,7 +71,7 @@ Run **all** commands as root or via **sudo**:
=== ":material-redhat: On Red Hat Enterprise Linux / derivatives"

```{.bash data-prompt="$"}
$ sudo systemctl start postgresql-16
$ sudo systemctl start postgresql-17
```

!!! note "For minor upgrades (RHEL only)"
Expand All @@ -85,6 +85,5 @@ Run **all** commands as root or via **sudo**:
```

To resolve this, remove the `percona-postgresql-common-dev` package and reinstall it with the new intended upgraded PPG/PSP server.


If you wish to upgrade Percona Distribution for PostgreSQL to the major version, refer to [Upgrading Percona Distribution for PostgreSQL from 16 to 17](major-upgrade.md).
If you wish to upgrade Percona Distribution for PostgreSQL to the major version, refer to [Upgrading Percona Distribution for PostgreSQL from 17 to 18](major-upgrade.md).
2 changes: 1 addition & 1 deletion docs/postgresql-server.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Percona Server for PostgreSQL

Percona Server for PostgreSQL is a binary-compatible, open source drop-in replacement for PostgreSQL 17. It introduces additional features to the upstream server, including:
Percona Server for PostgreSQL is a binary-compatible, open source drop-in replacement for PostgreSQL {{pgversion}}. It introduces additional features to the upstream server, including:

* 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.
Expand Down
Loading