diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 40eabfede..5df9efa7d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,8 @@ -name: Build Percona Distribution PostgreSQL 16 docs +name: Build Percona Distribution PostgreSQL 17 docs on: push: branches: - - 16 + - 17 jobs: build: @@ -42,9 +42,9 @@ jobs: # Deploy docs - name: Deploy docs run: | - mike deploy 16 -b publish -p - mike set-default 16 -b publish -p - mike retitle 16 "16 (LATEST)" -b publish -p + mike deploy 17 -b publish -p + 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 diff --git a/_resource/.icons/percona/logo-postgresql.svg b/_resource/.icons/percona/logo-postgresql.svg new file mode 100644 index 000000000..cfe2e781b --- /dev/null +++ b/_resource/.icons/percona/logo-postgresql.svg @@ -0,0 +1,36 @@ + + + + + + diff --git a/_resource/overrides/main.html b/_resource/overrides/main.html index 83d4a6c16..5c0039af1 100644 --- a/_resource/overrides/main.html +++ b/_resource/overrides/main.html @@ -55,7 +55,7 @@

Contact Us

{% include "partials/nav.html" %}
diff --git a/_resource/overrides/partials/header.html b/_resource/overrides/partials/header.html index e177d4ddd..2d0d6e740 100644 --- a/_resource/overrides/partials/header.html +++ b/_resource/overrides/partials/header.html @@ -43,7 +43,7 @@ - Percona Documentation + Percona Software for PostgreSQL Documentation diff --git a/docs/apt.md b/docs/apt.md index de823101d..455b95652 100644 --- a/docs/apt.md +++ b/docs/apt.md @@ -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-16` by default. The components of Percona Distribution for PostgreSQL 16 can only be installed together with the PostgreSQL server shipped by Percona (`percona-postgresql-16`). If you wish to use Percona Distribution for PostgreSQL, uninstall the `postgresql-16` 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 @@ -88,7 +93,7 @@ Run all the commands in the following sections as root or using the `sudo` comma $ sudo apt install percona-patroni ``` - [Install `pg_stat_monitor`](pg-stat-monitor.md) + [Install `pg_stat_monitor` :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/install.html#__tabbed_1_1) Install `pgBouncer`: @@ -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 --version +``` + +??? example "Sample output" + + ```{.text .no-copy} + psql (PostgreSQL) {{pspgversion}} (Percona Server for PostgreSQL) {{pspgversion}} + ``` + Congratulations! Your Percona Distribution for PostgreSQL is up and running. ## Next steps diff --git a/docs/docker.md b/docs/docker.md index f6af0a067..88ab7cd89 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -96,6 +96,7 @@ Where: * `container-name` is the name of your container that you will use to connect to the database container using the `psql` command line client `tag-multi` is the tag specifying the version you need. For example, `{{dockertag}}-multi`. The `multi` part of the tag serves to identify the architecture (x86_64 or ARM64) and pull the respective image. * `address` is the network address where your database container is running. Use 127.0.0.1, if the database container is running on the local machine/host. + ## Enable `pg_stat_monitor` To enable the `pg_stat_monitor` extension after launching the container, do the following: diff --git a/docs/enable-extensions.md b/docs/enable-extensions.md index 76c386a41..ebc6449cd 100644 --- a/docs/enable-extensions.md +++ b/docs/enable-extensions.md @@ -60,7 +60,7 @@ For details about each option, see [pdBadger documentation :octicons-link-extern ## pgaudit -Add the `pgaudit` to `shared_preload_libraries` in `postgresql.conf`. The recommended way is to use the [ALTER SYSTEM](https://www.postgresql.org/docs/16/sql-altersystem.html) command. [Connect to psql](#connect-to-the-postgresql-server) and use the following command: +Add the `pgaudit` to `shared_preload_libraries` in `postgresql.conf`. The recommended way is to use the [ALTER SYSTEM](https://www.postgresql.org/docs/17/sql-altersystem.html) command. [Connect to psql](#connect-to-the-postgresql-server) and use the following command: ```sql ALTER SYSTEM SET shared_preload_libraries = 'pgaudit'; @@ -84,7 +84,7 @@ CREATE EXTENSION pgaudit; ## pgaudit set-user -Add the `set-user` to `shared_preload_libraries` in `postgresql.conf`. The recommended way is to use the [ALTER SYSTEM :octicons-link-external-16:](https://www.postgresql.org/docs/16/sql-altersystem.html) command. [Connect to psql](connect.md) and use the following command: +Add the `set-user` to `shared_preload_libraries` in `postgresql.conf`. The recommended way is to use the [ALTER SYSTEM :octicons-link-external-16:](https://www.postgresql.org/docs/17/sql-altersystem.html) command. [Connect to psql](connect.md) and use the following command: ```sql ALTER SYSTEM SET shared_preload_libraries = 'set-user'; diff --git a/docs/extensions.md b/docs/extensions.md index 4c7dd7d87..e2c21c1ea 100644 --- a/docs/extensions.md +++ b/docs/extensions.md @@ -1,18 +1,14 @@ # Extensions -Percona Distribution for PostgreSQL is not only the PostgreSQL server. It also includes extensions - the add-ons that enhance the functionality of PostgreSQL database. By installing these extensions, you can modify and extend your database server with new features, functions, and data types. +Percona Distribution for PostgreSQL is not only [Percona Server for PostgreSQL](postgresql-server.md). It also includes extensions - the add-ons that enhance the functionality of PostgreSQL database. By installing these extensions, you can modify and extend your database server with new features, functions, and data types. Percona Distribution for PostgreSQL includes the extensions that have been tested to work together. These extensions encompass the following: * [PostgreSQL contrib modules and utilities](contrib.md) -* Extensions authored by Percona: - - * [`pg_stat_monitor`](pg-stat-monitor.md) - * [`pg_tde`](pg-tde.md) - +* [Extensions authored by Percona](percona-ext.md) * [Third-party components](third-party.md) -Percona also supports [extra modules](https://repo.percona.com/ppg-16-extras/), not included in Percona Distribution for PostgreSQL but tested to work with it. +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. Additionally, see the list of [PostgreSQL software](https://www.percona.com/services/support/support-tiers-postgresql) covered by Percona Support. diff --git a/docs/index.md b/docs/index.md index 1a9085ceb..cec54cd17 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,10 +1,10 @@ -# Percona Distribution for PostgreSQL 16 Documentation +# Percona Distribution for PostgreSQL 17 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 [PostgreSQL server :octicons-link-external-16:](https://www.postgresql.org/docs/16/index.html), 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. +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} @@ -16,10 +16,11 @@ - 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 +- 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
-## :material-progress-download: Installation guides { .title } +### :material-progress-download: Installation guides { .title } Get started quickly with the step-by-step installation instructions. @@ -47,7 +48,7 @@ Our comprehensive resources will help you overcome challenges, from everyday iss Learn about the releases and changes in the Distribution. -[Release notes :material-arrow-right:](release-notes.md){.md-button} +[Release notes :material-arrow-right:]({{release}}.md){.md-button}
diff --git a/docs/installing.md b/docs/installing.md index 738877148..5eba7a881 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -1,8 +1,8 @@ # Quickstart guide -Percona Distribution for PostgreSQL is the PostgreSQL server with the collection of tools from PostgreSQL community that are tested to work together and serve to assist you in deploying and managing PostgreSQL. [Read more](index.md). +Percona Distribution for PostgreSQL is the Percona server for PostgreSQL with the collection of tools from PostgreSQL community that are tested to work together and serve to assist you in deploying and managing PostgreSQL. [Read more](index.md). -This document aims to guide database application developers and DevOps engineer in getting started with Percona Distribution for PostgreSQL. Upon completion of this guide, you’ll have Percona Distribution for PostgreSQL installed and operational, and you’ll be able to: +This document aims to guide database application developers and DevOps engineers in getting started with Percona Distribution for PostgreSQL. Upon completion of this guide, you’ll have Percona Distribution for PostgreSQL installed and operational, and you’ll be able to: * Connect to PostgreSQL using the `psql` interactive terminal * Interact with PostgreSQL with basic psql commands diff --git a/docs/ldap.md b/docs/ldap.md index 45e24eba1..d8b8506d0 100644 --- a/docs/ldap.md +++ b/docs/ldap.md @@ -2,6 +2,6 @@ When a client application or a user that runs the client application connects to the database, it must identify themselves. The process of validating the client's identity and determining whether this client is permitted to access the database it has requested is called **authentication**. -Percona Distribution for PortgreSQL supports several [authentication methods :octicons-link-external-16:](https://www.postgresql.org/docs/15/auth-methods.html), including the [LDAP authentication :octicons-link-external-16:](https://www.postgresql.org/docs/14/auth-ldap.html). The use of LDAP is to provide a central place for authentication - meaning the LDAP server stores usernames and passwords and their resource permissions. +Percona Distribution for PortgreSQL supports several [authentication methods :octicons-link-external-16:](https://www.postgresql.org/docs/17/auth-methods.html), including the [LDAP authentication :octicons-link-external-16:](https://www.postgresql.org/docs/17/auth-ldap.html). The use of LDAP is to provide a central place for authentication - meaning the LDAP server stores usernames and passwords and their resource permissions. The LDAP authentication in Percona Distribution for PortgreSQL is implemented the same way as in upstream PostgreSQL. \ No newline at end of file diff --git a/docs/major-upgrade.md b/docs/major-upgrade.md index 46fca6a82..190ea0f02 100644 --- a/docs/major-upgrade.md +++ b/docs/major-upgrade.md @@ -1,4 +1,4 @@ -# Upgrading Percona Distribution for PostgreSQL from 15 to 16 +# Upgrading Percona Distribution for PostgreSQL from 16 to 17 This document describes the in-place upgrade of Percona Distribution for PostgreSQL using the `pg_upgrade` tool. @@ -56,7 +56,7 @@ 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 16 packages. +1. Install Percona Distribution for PostgreSQL {{pgversion}} packages. * [Install percona-release :octicons-link-external-16:](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) @@ -64,14 +64,14 @@ Run **all** commands as root or via **sudo**: * Enable Percona repository: ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg-16 + $ sudo percona-release setup ppg-{{pgversion}} ``` - * Install Percona Distribution for PostgreSQL 16 package: + * Install Percona Distribution for PostgreSQL {{pgversion}} package: ```{.bash data-prompt="$"} - $ sudo apt install percona-postgresql-16 + $ sudo apt install percona-postgresql-{{pgversion}} ``` 2. Stop the `postgresql` service. @@ -80,7 +80,7 @@ Run **all** commands as root or via **sudo**: $ sudo systemctl stop postgresql.service ``` - This stops both Percona Distribution for PostgreSQL 15 and 16. + This stops both Percona Distribution for PostgreSQL 16 and 17. 3. Run the database upgrade. @@ -100,16 +100,16 @@ Run **all** commands as root or via **sudo**: ``` - * Check the ability to upgrade Percona Distribution for PostgreSQL from 15 to 16: + * Check the ability to upgrade Percona Distribution for PostgreSQL from 16 to 17: ```{.bash data-prompt="$"} - $ /usr/lib/postgresql/16/bin/pg_upgrade \ - --old-datadir=/var/lib/postgresql/15/main \ - --new-datadir=/var/lib/postgresql/16/main \ - --old-bindir=/usr/lib/postgresql/15/bin \ - --new-bindir=/usr/lib/postgresql/16/bin \ - --old-options '-c config_file=/etc/postgresql/15/main/postgresql.conf' \ - --new-options '-c config_file=/etc/postgresql/16/main/postgresql.conf' \ + $ /usr/lib/postgresql/{{pgversion}}/bin/pg_upgrade \ + --old-datadir=/var/lib/postgresql/16/main \ + --new-datadir=/var/lib/postgresql/{{pgversion}}/main \ + --old-bindir=/usr/lib/postgresql/16/bin \ + --new-bindir=/usr/lib/postgresql/{{pgversion}}/bin \ + --old-options '-c config_file=/etc/postgresql/16/main/postgresql.conf' \ + --new-options '-c config_file=/etc/postgresql/{{pgversion}}/main/postgresql.conf' \ --check ``` @@ -139,13 +139,13 @@ Run **all** commands as root or via **sudo**: * Upgrade the Percona Distribution for PostgreSQL ```{.bash data-prompt="$"} - $ /usr/lib/postgresql/16/bin/pg_upgrade \ - --old-datadir=/var/lib/postgresql/15/main \ - --new-datadir=/var/lib/postgresql/16/main \ - --old-bindir=/usr/lib/postgresql/15/bin \ - --new-bindir=/usr/lib/postgresql/16/bin \ - --old-options '-c config_file=/etc/postgresql/15/main/postgresql.conf' \ - --new-options '-c config_file=/etc/postgresql/16/main/postgresql.conf' \ + $ /usr/lib/postgresql/{{pgversion}}/bin/pg_upgrade \ + --old-datadir=/var/lib/postgresql/16/main \ + --new-datadir=/var/lib/postgresql/{{pgversion}}/main \ + --old-bindir=/usr/lib/postgresql/16/bin \ + --new-bindir=/usr/lib/postgresql/{{pgversion}}/bin \ + --old-options '-c config_file=/etc/postgresql/16/main/postgresql.conf' \ + --new-options '-c config_file=/etc/postgresql/{{pgversion}}/main/postgresql.conf' \ --link ``` @@ -161,12 +161,12 @@ Run **all** commands as root or via **sudo**: ``` - * The Percona Distribution for PostgreSQL 15 uses the `5432` port while the Percona Distribution for PostgreSQL 16 is set up to use the `5433` port by default. To start the Percona Distribution for PostgreSQL 15, swap ports in the configuration files of both versions. + * The Percona Distribution for PostgreSQL 16 uses the `5432` port while the Percona Distribution for PostgreSQL 17 is set up to use the `5433` port by default. To start the Percona Distribution for PostgreSQL 17, swap ports in the configuration files of both versions. ```{.bash data-prompt="$"} - $ sudo vim /etc/postgresql/16/main/postgresql.conf + $ sudo vim /etc/postgresql/{{pgversion}}/main/postgresql.conf $ port = 5433 # Change to 5432 here - $ sudo vim /etc/postgresql/15/main/postgresql.conf + $ sudo vim /etc/postgresql/16/main/postgresql.conf $ port = 5432 # Change to 5433 here ``` @@ -196,7 +196,7 @@ Run **all** commands as root or via **sudo**: 6. After the upgrade, the Optimizer statistics are not transferred to the new cluster. Run the `vaccumdb` command to analyze the new cluster: ```{.bash data-prompt="$"} - $ /usr/lib/postgresql/16/bin/vacuumdb --all --analyze-in-stages + $ /usr/lib/postgresql/{{pgversion}}/bin/vacuumdb --all --analyze-in-stages ``` 7. Delete the old cluster's data files: @@ -214,7 +214,7 @@ Run **all** commands as root or via **sudo**: Run **all** commands as root or via **sudo**: {.power-number} -1. Install Percona Distribution for PostgreSQL 16 packages +1. Install Percona Distribution for PostgreSQL 17 packages * [Install percona-release :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/installing.html) @@ -222,17 +222,17 @@ Run **all** commands as root or via **sudo**: * Enable Percona repository: ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg-16 + $ sudo percona-release setup ppg-{{pgversion}} ``` - * Install Percona Distribution for PostgreSQL 16: + * Install Percona Distribution for PostgreSQL {{pgversion}}: ```{.bash data-prompt="$"} - $ sudo yum install percona-postgresql16-server + $ sudo yum install percona-postgresql{{pgversion}}-server ``` -2. Set up Percona Distribution for PostgreSQL 16 cluster +2. Set up Percona Distribution for PostgreSQL {{pgversion}} cluster * Log is as the postgres user @@ -250,14 +250,14 @@ Run **all** commands as root or via **sudo**: * Initialize cluster with the new data directory ```{.bash data-prompt="$"} - $ /usr/pgsql-16/bin/initdb -D /var/lib/pgsql/16/data + $ /usr/pgsql-{{pgversion}}/bin/initdb -D /var/lib/pgsql/{{pgversion}}/data ``` -3. Stop the `postgresql` 15 service +3. Stop the `postgresql` 16 service ```{.bash data-prompt="$"} - $ systemctl stop postgresql-15 + $ systemctl stop postgresql-16 ``` @@ -271,14 +271,14 @@ Run **all** commands as root or via **sudo**: ``` - * Check the ability to upgrade Percona Distribution for PostgreSQL from 15 to 16: + * Check the ability to upgrade Percona Distribution for PostgreSQL from 16 to 17: ```{.bash data-prompt="$"} - $ /usr/pgsql-16/bin/pg_upgrade \ - --old-bindir /usr/pgsql-15/bin \ - --new-bindir /usr/pgsql-16/bin \ - --old-datadir /var/lib/pgsql/15/data \ - --new-datadir /var/lib/pgsql/16/data \ + $ /usr/pgsql-{{pgversion}}/bin/pg_upgrade \ + --old-bindir /usr/pgsql-16/bin \ + --new-bindir /usr/pgsql-{{pgversion}}/bin \ + --old-datadir /var/lib/pgsql/16/data \ + --new-datadir /var/lib/pgsql/{{pgversion}}/data \ --check ``` @@ -308,11 +308,11 @@ Run **all** commands as root or via **sudo**: * Upgrade the Percona Distribution for PostgreSQL ```{.bash data-prompt="$"} - $ /usr/pgsql-16/bin/pg_upgrade \ - --old-bindir /usr/pgsql-15/bin \ - --new-bindir /usr/pgsql-16/bin \ - --old-datadir /var/lib/pgsql/15/data \ - --new-datadir /var/lib/pgsql/16/data \ + $ /usr/pgsql-{{pgversion}}/bin/pg_upgrade \ + --old-bindir /usr/pgsql-16/bin \ + --new-bindir /usr/pgsql-{{pgversion}}/bin \ + --old-datadir /var/lib/pgsql/16/data \ + --new-datadir /var/lib/pgsql/{{pgversion}}/data \ --link ``` @@ -320,16 +320,16 @@ Run **all** commands as root or via **sudo**: If you don’t wish to use the `--link` option, make sure that you have enough disk space to store 2 copies of files for both old version and new version clusters. -5. Start the `postgresql` 16 service. +5. Start the `postgresql` {{pgversion}} service. ```{.bash data-prompt="$"} - $ systemctl start postgresql-16 + $ systemctl start postgresql-{{pgversion}} ``` 6. Check postgresql status ```{.bash data-prompt="$"} - $ systemctl status postgresql-16 + $ systemctl status postgresql-{{pgversion}} ``` @@ -345,11 +345,11 @@ Run **all** commands as root or via **sudo**: * Run the script to analyze the new cluster: ```{.bash data-prompt="$"} - $ /usr/pgsql-16/bin/vacuumdb --all --analyze-in-stages + $ /usr/pgsql-{{pgversion}}/bin/vacuumdb --all --analyze-in-stages ``` -8. Delete Percona Distribution for PostgreSQL 15 configuration files +8. Delete Percona Distribution for PostgreSQL 16 configuration files ```{.bash data-prompt="$"} $ ./delete_old_cluster.sh @@ -359,5 +359,5 @@ Run **all** commands as root or via **sudo**: 9. Delete Percona Distribution old data files ```{.bash data-prompt="$"} - $ rm -rf /var/lib/pgsql/15/data + $ rm -rf /var/lib/pgsql/16/data ``` diff --git a/docs/migration.md b/docs/migration.md index 649a975a1..6703a951f 100644 --- a/docs/migration.md +++ b/docs/migration.md @@ -32,7 +32,7 @@ Depending on your business requirements, you may migrate to Percona Distribution 4. Enable the repository ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` 5. [Install Percona Distribution for PostgreSQL packages](apt.md) @@ -60,7 +60,7 @@ Depending on your business requirements, you may migrate to Percona Distribution 1. Stop the `postgresql` server ```{.bash data-prompt="$"} - $ sudo systemctl stop postgresql-16 + $ sudo systemctl stop postgresql-{{pgversion}} ``` 2. Remove community packages @@ -73,7 +73,7 @@ Depending on your business requirements, you may migrate to Percona Distribution 4. Enable the repository ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` 5. [Install Percona Distribution for PostgreSQL packages](yum.md) @@ -81,7 +81,7 @@ Depending on your business requirements, you may migrate to Percona Distribution 7. Start the `postgresql` service ```{.bash data-prompt="$"} - $ sudo systemctl start postgresql-16 + $ sudo systemctl start postgresql-{{pgversion}} ``` @@ -106,7 +106,7 @@ To migrate from PostgreSQL Community to Percona Distribution for PostgreSQL on a === ":material-redhat: On RHEL and derivatives" ```{.bash data-prompt="$"} - $ sudo systemctl stop postgresql-16 + $ sudo systemctl stop postgresql-{{pgversion}} ``` 3. Optionally, remove PostgreSQL Community packages @@ -118,7 +118,7 @@ To migrate from PostgreSQL Community to Percona Distribution for PostgreSQL on a 2. Enable the repository ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` 3. [Install Percona Distribution for PostgreSQL packages](installing.md) on the target server. @@ -134,5 +134,5 @@ To migrate from PostgreSQL Community to Percona Distribution for PostgreSQL on a === ":material-redhat: On RHEL and derivatives" ```{.bash data-prompt="$"} - $ sudo systemctl start postgresql-16 + $ sudo systemctl start postgresql-{{pgversion}} ``` \ No newline at end of file diff --git a/docs/pg-stat-monitor.md b/docs/pg-stat-monitor.md deleted file mode 100644 index 7793c5fed..000000000 --- a/docs/pg-stat-monitor.md +++ /dev/null @@ -1,277 +0,0 @@ -# pg_stat_monitor - -!!! note - - This document describes the functionality of pg_stat_monitor {{pgsmversion}}. - -## Overview - -`pg_stat_monitor` is a Query Performance Monitoring -tool for PostgreSQL. It collects various statistics data such as query statistics, query plan, SQL comments and other performance insights. The collected data is aggregated and presented in a single view. This allows you to view queries from performance, application and analysis perspectives. - -`pg_stat_monitor` groups statistics data and writes it in a storage unit called *bucket*. The data is added and stored in a bucket for the defined period – the bucket lifetime. This allows you to identify performance issues and patterns based on time. - -You can specify the following: - - -* The number of buckets. Together they form a bucket chain. -* Bucket size. This is the amount of shared memory allocated for buckets. Memory is divided equally among buckets. -* Bucket lifetime. - -When a bucket lifetime expires, `pg_stat_monitor` resets all statistics and writes the data in the next bucket in the chain. When the last bucket’s lifetime expires, `pg_stat_monitor` returns to the first bucket. - -!!! important - - The contents of the bucket will be overwritten. In order not to lose the data, make sure to read the bucket before `pg_stat_monitor` starts writing new data to it. - - -### Views - -#### pg_stat_monitor view - -The `pg_stat_monitor` view contains all the statistics collected and aggregated by the extension. This view contains one row for each distinct combination of metrics and whether it is a top-level statement or not (up to the maximum number of distinct statements that the module can track). For details about available metrics, refer to the [`pg_stat_monitor` view reference :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/reference.html). - -The following are the primary keys for pg_stat_monitor: - -* `bucket` -* `userid` -* `datname` -* `queryid` -* `client_ip` -* `planid` -* `application_name` - -A new row is created for each key in the `pg_stat_monitor` view. - -For security reasons, only superusers and members of the `pg_read_all_stats` role are allowed to see the SQL text, `client_ip` and `queryid` of queries executed by other users. Other users can see the statistics, however, if the view has been installed in their database. - -#### pg_stat_monitor_settings view (dropped) - -Starting with version 2.0.0, the `pg_stat_monitor_settings` view is deprecated and removed. All `pg_stat_monitor` configuration parameters are now available though the `pg_settings` view using the following query: - -```sql -SELECT name, setting, unit, context, vartype, source, min_val, max_val, enumvals, boot_val, reset_val, pending_restart FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; -``` - -For backward compatibility, you can create the `pg_stat_monitor_settings` view using the following SQL statement: - -```sql -CREATE VIEW pg_stat_monitor_settings - -AS - -SELECT * - -FROM pg_settings - -WHERE name like 'pg_stat_monitor.%'; -``` - -In `pg_stat_monitor` version 1.1.1 and earlier, the `pg_stat_monitor_settings` view shows one row per `pg_stat_monitor` configuration parameter. It displays configuration parameter name, value, default value, description, minimum and maximum values, and whether a restart is required for a change in value to be effective. - -To learn more, see the [Changing the configuration](#changing-the-configuration) section. - -## Installation - -This section describes how to install `pg_stat_monitor` from Percona repositories. To learn about other installation methods, see the [Installation :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/install.html) section in the `pg_stat_monitor` documentation. - -**Preconditions**: - -To install `pg_stat_monitor` from Percona repositories, you need to subscribe to them. To do this, you must have the [`percona-release` repository management tool :octicons-link-external-16:](https://www.percona.com/doc/percona-repo-config/installing.html) up and running. - -To install `pg_stat_monitor`, run the following commands: - -=== ":material-debian: On Debian and Ubuntu" - - 1. Enable the repository - - ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 - ``` - - 2. Install the package: - - ```{.bash data-prompt="$"} - $ sudo apt-get install percona-pg-stat-monitor16 - ``` - -=== ":material-redhat: On Red Hat Enterprise Linux and derivatives" - - 1. Enable the repository - - ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 - ``` - - 2. Install the package: - - ```{.bash data-prompt="$"} - $ sudo yum install percona-pg-stat-monitor16 - ``` - -## Setup - -`pg_stat_monitor` requires additional setup in order to use it with PostgreSQL. The setup steps are the following: - - -1. Add `pg_stat_monitor` in the `shared_preload_libraries` configuration parameter. - - The recommended way to modify PostgreSQL configuration file is using the [ALTER SYSTEM :octicons-link-external-16:](https://www.postgresql.org/docs/15/sql-altersystem.html) command. [Connect to psql](connect.md) and use the following command: - - ```sql - ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_monitor'; - ``` - - The parameter value is written to the `postgresql.auto.conf` file which is read in addition with `postgresql.conf` file. - - !!! note - - To use `pg_stat_monitor` together with `pg_stat_statements`, specify both modules separated by commas for the `ALTER SYSTEM SET` command. - - The order of modules is important: `pg_stat_monitor` must be specified **after** `pg_stat_statements`: - - ```sql - ALTER SYSTEM SET shared_preload_libraries = ‘pg_stat_statements, pg_stat_monitor’ - ``` - -2. Start or restart the `postgresql` instance to enable `pg_stat_monitor`. Use the following command for restart: - - - === ":material-debian: On Debian and Ubuntu" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql.service - ``` - - - === ":material-redhat: On Red Hat Enterprise Linux and derivatives" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql-16 - ``` - - -3. Create the extension. Connect to `psql` and use the following command: - - ```sql - CREATE EXTENSION pg_stat_monitor; - ``` - - By default, the extension is created against the `postgres` database. You need to create the extension on every database where you want to collect statistics. - -!!! tip - - To check the version of the extension, run the following command in the `psql` session: - - ```sql - SELECT pg_stat_monitor_version(); - ``` - -## Usage - -For example, to view the IP address of the client application that made the query, run the following command: - -```sql -SELECT DISTINCT userid::regrole, pg_stat_monitor.datname, substr(query,0, 50) AS query, calls, bucket, bucket_start_time, queryid, client_ip -FROM pg_stat_monitor, pg_database -WHERE pg_database.oid = oid; -``` - -Output: - -``` - userid | datname | query | calls | bucket | bucket_start_time | queryid | client_ip -----------+----------+---------------------------------------------------+-------+--------+---------------------+------------------+----------- - postgres | postgres | SELECT name,description FROM pg_stat_monitor_sett | 1 | 9 | 2022-10-24 07:29:00 | AD536A8DEA7F0C73 | 127.0.0.1 - postgres | postgres | SELECT c.oid, +| 1 | 9 | 2022-10-24 07:29:00 | 34B888E5C844519C | 127.0.0.1 - | | n.nspname, +| | | | | - | | c.relname +| | | | | - | | FROM pg_ca | | | | | - postgres | postgres | SELECT DISTINCT userid::regrole, pg_stat_monitor. | 1 | 1 | 2022-10-24 07:31:00 | 6230793895381F1D | 127.0.0.1 - postgres | postgres | SELECT pg_stat_monitor_version() | 1 | 9 | 2022-10-24 07:29:00 | B617F5F12931F388 | 127.0.0.1 - postgres | postgres | CREATE EXTENSION pg_stat_monitor | 1 | 8 | 2022-10-24 07:28:00 | 14B98AF0776BAF7B | 127.0.0.1 - postgres | postgres | SELECT a.attname, +| 1 | 9 | 2022-10-24 07:29:00 | 96F8E4B589EF148F | 127.0.0.1 - | | pg_catalog.format_type(a.attt | | | | | - postgres | postgres | SELECT c.relchecks, c.relkind, c.relhasindex, c.r | 1 | 9 | 2022-10-24 07:29:00 | CCC51D018AC96A25 | 127.0.0.1 - -``` - - -Find more usage examples in the [`pg_stat_monitor` user guide :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/user_guide.html). - -## Changing the configuration - -Run the following query to list available configuration parameters. - -```sql -SELECT name, short_desc FROM pg_settings WHERE name LIKE '%pg_stat_monitor%'; -``` - -**Output** - -``` - name | short_desc --------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------- - pg_stat_monitor.pgsm_bucket_time | Sets the time in seconds per bucket. - pg_stat_monitor.pgsm_enable_overflow | Enable/Disable pg_stat_monitor to grow beyond shared memory into swap space. - pg_stat_monitor.pgsm_enable_pgsm_query_id | Enable/disable PGSM specific query id calculation which is very useful in comparing same query across databases and clusters.. - pg_stat_monitor.pgsm_enable_query_plan | Enable/Disable query plan monitoring. - pg_stat_monitor.pgsm_extract_comments | Enable/Disable extracting comments from queries. - pg_stat_monitor.pgsm_histogram_buckets | Sets the maximum number of histogram buckets. - pg_stat_monitor.pgsm_histogram_max | Sets the time in millisecond. - pg_stat_monitor.pgsm_histogram_min | Sets the time in millisecond. - pg_stat_monitor.pgsm_max | Sets the maximum size of shared memory in (MB) used for statement's metadata tracked by pg_stat_monitor. - pg_stat_monitor.pgsm_max_buckets | Sets the maximum number of buckets. - pg_stat_monitor.pgsm_normalized_query | Selects whether save query in normalized format. - pg_stat_monitor.pgsm_overflow_target | Sets the overflow target for pg_stat_monitor. (Deprecated, use pgsm_enable_overflow) - pg_stat_monitor.pgsm_query_max_len | Sets the maximum length of query. - pg_stat_monitor.pgsm_query_shared_buffer | Sets the maximum size of shared memory in (MB) used for query tracked by pg_stat_monitor. - pg_stat_monitor.pgsm_track | Selects which statements are tracked by pg_stat_monitor. - pg_stat_monitor.pgsm_track_planning | Selects whether planning statistics are tracked. - pg_stat_monitor.pgsm_track_utility | Selects whether utility commands are tracked. -``` - -You can change a parameter by setting a new value in the configuration file. Some parameters require server restart to apply a new value. For others, configuration reload is enough. Refer to the [configuration parameters :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/configuration.html) of the `pg_stat_monitor` documentation for the parameters’ description, how you can change their values and if the server restart is required to apply them. - -As an example, let’s set the bucket lifetime from default 60 seconds to 40 seconds. Use the **ALTER SYSTEM** command: - -```sql -ALTER SYSTEM set pg_stat_monitor.pgsm_bucket_time = 40; -``` - -Restart the server to apply the change: - - -=== ":material-debian: On Debian and Ubuntu" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql.service - ``` - -=== "On Red Hat Enterprise Linux and derivatives" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql-15 - ``` - -Verify the updated parameter: - -```sql -SELECT name, setting -FROM pg_settings -WHERE name = 'pg_stat_monitor.pgsm_bucket_time'; - - name | setting - ----------------------------------+--------- - pg_stat_monitor.pgsm_bucket_time | 40 -``` - -!!! admonition "See also" - - [`pg_stat_monitor` Documentation :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/index.html) - - - Percona Blog: - - * [pg_stat_monitor: A New Way Of Looking At PostgreSQL Metrics :octicons-link-external-16:](https://www.percona.com/blog/2021/01/19/pg_stat_monitor-a-new-way-of-looking-at-postgresql-metrics/) - * [Improve PostgreSQL Query Performance Insights with pg_stat_monitor :octicons-link-external-16:](https://www.percona.com/blog/improve-postgresql-query-performance-insights-with-pg_stat_monitor/) diff --git a/docs/pg-tde.md b/docs/pg-tde.md deleted file mode 100644 index dd78a43b3..000000000 --- a/docs/pg-tde.md +++ /dev/null @@ -1,197 +0,0 @@ -# pg_tde - -!!! note - - This is the Beta version of the extension and is not recommended for production use yet. Please use it in testing environments only. - -## Overview - -`pg_tde` stands for Transparent Data Encryption for PostgreSQL. This is an open-source extension designed to enhance PostgreSQL’s security by encrypting data files on disk. The encryption is transparent for users allowing them to access and manipulate the data and not to worry about the encryption process. - -Unlike traditional encryption methods that require significant changes to database schemas and applications, `pg_tde` seamlessly integrates with PostgreSQL, encrypting data at the table level without disrupting existing workflows. It uses the Advanced Encryption Standard (AES) encryption algorithm. - -### Key features: - -* Encryption of heap tables, including TOAST. -* Storage of encryption keys in either a Hashicorp Vault server or a local keyring file (primarily for development purposes). -* Configurable encryption settings per database: you can choose which tables to encrypt, achieving granular control over data protection. -* Replication support. -* Enhanced security through the ability to rotate principal keys used for data encryption, reducing the risk of long-term exposure to potential attacks and aiding compliance with security standards like GDPR, HIPAA, and PCI DSS. - -## Installation - -This section provides instructions how to install `pg_tde` from Percona repositories using the package manager of your operating system. For other installation methods, refer to the [`pg_tde` documentation :octicons-link-external-16:](https://percona-lab.github.io/pg_tde/main/install.html#procedure). - -=== ":material-debian: :material-debian: On Debian and Ubuntu" - - `pg_tde` packages are available for the following Linux distributions: - - * Ubuntu 20.04 (Focal Fossa) - * Ubuntu 22.04 (Jammy Jellyfish) - * Debian 10 (Buster) - * Debian 11 (Bullseye) - * Debian 12 (Bookworm) - - To install `pg_tde`, run the following commands as the root user or with the `sudo` privileges: - - 1. [Install `percona-release` :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/installing.html) repository management tool. - - 2. Enable the repository: - - ```{.bash data-prompt="$"} - $ sudo percona-release enable-only ppg-16.3 testing - ``` - - 3. Install the package: - - ```{.bash data-prompt="$"} - $ sudo apt-get install percona-postgresql-16-pg-tde - ``` - -=== ":material-redhat: On Red Hat Enterprise Linux and compatible derivatives" - - `pg_tde` packages are available for the following Linux distributions: - - * Red Hat Enterprise Linux and CentOS 7 - * Red Hat Enterprise Linux 8 and compatible derivatives - * Red Hat Enterprise Linux 9 and compatible derivatives - - To install `pg_tde`, run the following commands as the root user or with the `sudo` privileges: - - 1. Enable / disable modules: - - === "CentOS 7" - - Install the `epel-release` package: - - ```{.bash data-prompt="$"} - $ sudo yum -y install epel-release - $ sudo yum repolist - ``` - - === "RHEL8/Oracle Linux 8/Rocky Linux 8" - - Disable the ``postgresql`` and ``llvm-toolset``modules: - - ```{.bash data-prompt="$"} - $ sudo dnf module disable postgresql llvm-toolset - ``` - - 2. [Install `percona-release` :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/ installing.html) repository management tool. - - 3. Enable the repository: - - ```{.bash data-prompt="$"} - $ sudo percona-release enable-only ppg-16.3 testing - ``` - - 4. Install the package: - - ```{.bash data-prompt="$"} - $ sudo yum install percona-pg_tde_16 - ``` - -## Setup - -`pg_tde` requires additional setup steps in order to use it with PostgreSQL. -This section provides setup using the HashiCorp Vault server for storing encryption key as the recommended approach. Please see [`pg_tde` documentation :octicons-link-external-16:] for alternative configuration using a keyfile. - -The setup of the Vault server is out of scope of this document. We're assuming you have the Vault server up and running and have the following information required for the setup: - -* The secret access token to the Vault server -* The URL to access the Vault server -* (Optional) The CA file used for SSL verification - - -### Install the extension in PostgreSQL - -1. Add `pg_tde` to `shared_preload_libraries`. - - The recommended way to modify PostgreSQL configuration file is using the [ALTER SYSTEM :octicons-external-link-16:](https://www.postgresql.org/docs/15/sql-altersystem.html) command. [Connect to psql](connect.md) and use the following command: - - ```sql - ALTER SYSTEM SET shared_preload_libraries = 'pg_tde'; - ``` - -2. Start or restart the `postgresql` instance to enable `pg_tde`. Use the following command for restart: - - - === ":material-debian: On Debian and Ubuntu" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql.service - ``` - - - === ":material-redhat: On Red Hat Enterprise Linux and derivatives" - - ```{.bash data-prompt="$"} - $ sudo systemctl restart postgresql-{{pgversion}} - ``` - -3. Install the extension in your PostgreSQL using the CREATE EXTENSION command. [CREATE EXTENSION](https://www.postgresql.org/docs/current/sql-createextension.html) command. You must have the privileges of a superuser or a database owner to use this command. Connect to `psql` as a superuser for a database and run the following command: - - ```sql - CREATE EXTENSION pg_tde; - ``` - - By default, the `pg_tde` extension is created for the currently used database. To enable data encryption in other databases, you must explicitly run the `CREATE EXTENSION` command against them. - - !!! tip - - You can have the `pg_tde` extension automatically enabled for every newly created database. Modify the template `template1` database as follows: - - ``` - psql -d template1 -c 'CREATE EXTENSION pg_tde;' - ``` - - After you enabled `pg_tde`, the [access method :octicons-external-link-16:](https://www.postgresql.org/docs/current/tableam.html) `pg_tde` is created for that database. - -### Key configuration - -1. Set up a key provider for for the database where you have enabled the extension - - ```sql - SELECT pg_tde_add_key_provider_vault_v2('provider-name',:'secret_token','url','mount','ca_path'); - ``` - - where: - - * `url` is the URL of the Vault server - * `mount` is the mount point where the keyring should store the keys - * `secret_token` is an access token with read and write access to the above mount point - * [optional] `ca_path` is the path of the CA file used for SSL verification - -2. Add a principal key - - ```sql - SELECT pg_tde_set_principal_key('name-of-the-principal-key', 'provider-name'); - ``` - -## Usage - -To check if the data is encrypted, do the following: - -1. Create a table for the database where you have enabled `pg_tde` using the `pg_tde` access method: - - ```sql - CREATE TABLE my_encrypted_table ( - id SERIAL PRIMARY KEY, - sensitive_data TEXT - ) USING pg_tde; - ``` - -2. Insert some data ito it: - - ```sql - INSERT INTO my_encrypted_table (sensitive_data) - VALUES ('Sensitive data 1'), ('Sensitive data 2'), ('Sensitive data 3'); - ``` - -3. Check if the data is encrypted: - - ```sql - SELECT pg_tde_is_encrypted('my_encrypted_table'); - ``` - - The function returns `t` if the table is encrypted and `f` - if not. \ No newline at end of file diff --git a/docs/postgresql-server.md b/docs/postgresql-server.md new file mode 100644 index 000000000..70f98c36d --- /dev/null +++ b/docs/postgresql-server.md @@ -0,0 +1,12 @@ +# 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: + +* 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 have no impact on existing use cases and operation of PostgreSQL. They are required to enable additional encryption capabilities such as index-level and Write-Ahead Logging (WAL) encryption of indexes through the [`pg_tde` :octicons-link-external-16:](https://percona-lab.github.io/pg_tde/main/) extension. These encryption features provided by the `pg_tde` are still under active development and are planned for future releases. + +Percona Server and upstream PostgreSQL function identically enabling you to migrate from one to another. + +[Get started :material-arrow-right:](installing.md){.md-button} \ No newline at end of file diff --git a/docs/release-notes-v16.0.md b/docs/release-notes-v16.0.md deleted file mode 100644 index 844c5a685..000000000 --- a/docs/release-notes-v16.0.md +++ /dev/null @@ -1,78 +0,0 @@ -# Percona Distribution for PostgreSQL 16.0 (2023-09-19) - -[Installation](installing.md){.md-button} -[Upgrade](major-upgrade.md){.md-button} - - -We are pleased to announce the launch of Percona Distribution for PostgreSQL 16.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. - -This release of Percona Distribution for PostgreSQL is based on [PostgreSQL 16 :octicons-link-external-16:](https://www.postgresql.org/docs/16/release-16.html). - -## Release Highlights - -Percona Distribution for PostgreSQL 16 features a lot of new functionalities and enhancements to performance, replication, monitoring, developer experience and more. Among them are the following: - -* Performance improvements: - - * The support for CPU acceleration using SIMD (Single Instruction/Multiple Data) computing method for both x86 and ARM architectures - * Optimized processing of ASCII and JSON strings and array and subtransaction searches improve query processing performance. - * The support of concurrent bulk data loading using `COPY` boost performance up to 300%. - * Load balancing for `libpq` client simplifies scaling read queries. - * The use of lz4 and zstd compression methods for `pg_dump` results in better compression performance compared to the default gzip compression method. - -* Logical replication improvements include the ability to apply large transactions in parallel and the ability to perform logical decoding on standbys. This enables users to distribute their workloads among nodes. -* Developer experience: - - * The standard for manipulating JSON data now includes the SQL/JSON constructors and the `ANY_VALUE` aggregate function, which returns any arbitrary value from the aggregate set. - * Developers can now specify non-decimal integers such as 0xff and 0o777. - * Added support for the extended query protocol to the `psql` client. - - -* Privilege administration improvements: - - * Logical replication subscribers now execute transactions on a table as the table owner, not the superuser. - * Now only the users that have the ADMIN OPTION for roles can grant privileges in these roles using the `CREATEROLE` function. This allows fine-tuning privileges definition. - * New predefined role `pg_maintain` enables non-superusers to run VACUUM, ANALYZE, CLUSTER, REFRESH MATERIALIZED VIEW, REINDEX, and LOCK TABLE on all tables. - -* Database administrators can now view insights on I/O statistics in a separate `pg_stat_io` view provides. - - -!!! admonition "See also" - - * [PostgreSQL 16 release notes :octicons-link-external-16:](https://www.postgresql.org/docs/16/release-16.html) - - -The following is the list of extensions available in Percona Distribution for PostgreSQL. - -| 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| - -Percona Distribution for PostgreSQL also includes the following packages: - -* `llvm` 12.0.1 packages for Red Hat Enterprise Linux 8 / CentOS 8. This fixes compatibility issues with LLVM from upstream. -* supplemental `etcd` packages which can be used for setting up Patroni clusters. These packages are available for the following operating systems: - -| Operating System | Package | Version | Description | -| ------------------- | ---------------------| --------| ------------------ | -| CentOS 8 | `etcd` | 3.3.11 | A consistent, distributed key-value store| -| | `python3-etcd`| 0.4.5 | A Python client for etcd | - - - -Percona Distribution for PostgreSQL is also shipped with the [libpq :octicons-link-external-16:](https://www.postgresql.org/docs/16/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." diff --git a/docs/release-notes-v16.0.upd.md b/docs/release-notes-v16.0.upd.md deleted file mode 100644 index 61f2b8415..000000000 --- a/docs/release-notes-v16.0.upd.md +++ /dev/null @@ -1,7 +0,0 @@ -# Percona Distribution for PostgreSQL 16.0 Update (2023-11-02) - -[Installation](installing.md){.md-button} -[Upgrade](major-upgrade.md){.md-button} - - -This update to the release of Percona Distribution for PostgreSQL 16.0 includes the Docker images for x86_64 architectures. It aims to simplify the developers' experience with the Distribution. Refer to the [Docker guide](docker.md) for how to run Percona Distribution for PostgreSQL in Docker. \ No newline at end of file diff --git a/docs/release-notes-v16.1.md b/docs/release-notes-v16.1.md deleted file mode 100644 index 900f15e4d..000000000 --- a/docs/release-notes-v16.1.md +++ /dev/null @@ -1,48 +0,0 @@ -# Percona Distribution for PostgreSQL 16.1 (2023-11-29) - -[Installation](installing.md){.md-button} - ---8<-- "release-notes-intro.md" - -This release of Percona Distribution for PostgreSQL is based on [PostgreSQL 16.1 :octicons-link-external-16:](https://www.postgresql.org/docs/16/release-16-1.html). - -## Release Highlights - -* Telemetry is now enabled in Percona Distribution for PostgreSQL to fill in the gaps in our understanding of how you use it and help us improve our products. Participation in the anonymous program is optional. You can opt-out if you prefer not to share this information. Find more information in the [Telemetry on Percona Distribution for PostgreSQL](telemetry.md) document. -* The `percona-postgis33` and `percona-pgaudit` packages on YUM-based operating systems are renamed `percona-postgis33_{{pgversion}}` and `percona-pgaudit{{pgversion}}` respectively - - -The following is the list of extensions available in Percona Distribution for PostgreSQL. - -| Extension | Version | Description | -| ------------------- | -------------- | ---------------------------- | -|[HAProxy :octicons-link-external-16:](http://www.haproxy.org/) | 2.8.3 | 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.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.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.48 | 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.21.0 | a lightweight connection pooler for PostgreSQL| -| [pg_gather :octicons-link-external-16:](https://github.com/jobinau/pg_gather)| v23 | 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.3 | 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)| 256 | 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| - -Percona Distribution for PostgreSQL also includes the following packages: - -* `llvm` 12.0.1 packages for Red Hat Enterprise Linux 8 and compatible derivatives. This fixes compatibility issues with LLVM from upstream. -* supplemental `etcd` packages which can be used for setting up Patroni clusters. These packages are available for the following operating systems: - -| Operating System | Package | Version | Description | -| ------------------- | ---------------------| --------| ------------------ | -| RHEL 8 | `etcd` | 3.3.11 | A consistent, distributed key-value store| -| | `python3-etcd`| 0.4.5 | A Python client for etcd | - - - -Percona Distribution for PostgreSQL is also shipped with the [libpq :octicons-link-external-16:](https://www.postgresql.org/docs/16/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." diff --git a/docs/release-notes-v16.1.upd.md b/docs/release-notes-v16.1.upd.md deleted file mode 100644 index 6f6788c68..000000000 --- a/docs/release-notes-v16.1.upd.md +++ /dev/null @@ -1,7 +0,0 @@ -# Percona Distribution for PostgreSQL 16.1 Update (2024-01-18) - -[Installation](installing.md){.md-button} - ---8<-- "release-notes-intro.md" - -This update of Percona Distribution for PostgreSQL includes the new version of [`pg_stat_monitor` 2.0.4 :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/release-notes/2.0.4.html) that fixes the issue with the extension causing the deadlock in the Percona Operator for PostgreSQL when executing the `pgsm_store` function. diff --git a/docs/release-notes-v16.2.md b/docs/release-notes-v16.2.md deleted file mode 100644 index d8ce16b83..000000000 --- a/docs/release-notes-v16.2.md +++ /dev/null @@ -1,47 +0,0 @@ -# Percona Distribution for PostgreSQL 16.2 (2024-02-27) - -[Installation](installing.md){.md-button} - ---8<-- "release-notes-intro.md" - -This release of Percona Distribution for PostgreSQL is based on [PostgreSQL 16.2 :octicons-link-external-16:](https://www.postgresql.org/docs/16/release-16-2.html). - -## Release Highlights - -* A Docker image for Percona Distribution for PostgreSQL is now available for ARM architectures. This improves the user experience with the Distribution for developers with ARM-based workstations. - - -The following is the list of extensions available in Percona Distribution for PostgreSQL. - -| Extension | Version | Description | -| ------------------- | -------------- | ---------------------------- | -|[HAProxy :octicons-link-external-16:](http://www.haproxy.org/) | 2.8.5 | a high-availability and load-balancing solution | -| [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/en/latest/) | 3.2.2 | a HA (High Availability) solution for PostgreSQL | -| [PgAudit :octicons-link-external-16:](https://www.pgaudit.org/) | 16 | 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.50 | 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.22.0 | a lightweight connection pooler for PostgreSQL| -| [pg_gather :octicons-link-external-16:](https://github.com/jobinau/pg_gather)| v25 | 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.0 | 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.0 | rebuilds PostgreSQL database objects | -| [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor)|2.0.4 | collects and aggregates statistics for PostgreSQL and provides histogram information.| -| [PostGIS :octicons-link-external-16:](https://github.com/postgis/postgis) | 3.3.5 | a spatial extension for PostgreSQL.| -| [PostgreSQL Common :octicons-link-external-16:](https://salsa.debian.org/postgresql/postgresql-common)| 256 | 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| - -Percona Distribution for PostgreSQL also includes the following packages: - -* `llvm` 12.0.1 packages for Red Hat Enterprise Linux 8 and compatible derivatives. This fixes compatibility issues with LLVM from upstream. -* supplemental `etcd` packages which can be used for setting up Patroni clusters. These packages are available for the following operating systems: - -| Operating System | Package | Version | Description | -| --------------------- | ---------------------| --------| ------------------ | -| RHEL 8 and derivatives| `etcd` | 3.5.12 | A consistent, distributed key-value store| -| | `python3-etcd`| 0.4.5 | A Python client for etcd | - - - -Percona Distribution for PostgreSQL is also shipped with the [libpq :octicons-link-external-16:](https://www.postgresql.org/docs/16/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." diff --git a/docs/release-notes-v16.3.md b/docs/release-notes-v16.3.md deleted file mode 100644 index 790949c67..000000000 --- a/docs/release-notes-v16.3.md +++ /dev/null @@ -1,48 +0,0 @@ -# Percona Distribution for PostgreSQL 16.3 (2024-06-06) - -[Installation](installing.md){.md-button} - ---8<-- "release-notes-intro.md" - -This release of Percona Distribution for PostgreSQL is based on [PostgreSQL 16.3](https://www.postgresql.org/docs/16/release-16-3.html). - -## Release Highlights - -* Percona Distribution for PostgreSQL now includes the etcd distributed configuration store version 3.5.x for all supported operating systems. This enhancement simplifies deploying high-availability solutions because you can install all necessary components from a single source, ensuring their seamless compatibility. -* Percona Distribution for PostgreSQL is now available on Ubuntu 24.04 LTS Noble Numbat. -* Percona Distribution for PostgreSQL on Red Hat Enterprise Linux 8 and compatible derivatives is now fully compatible with upstream `llvm` packages and includes the latest version 16.0.6 of them. - - To ensure a smooth upgrade process, the recommended approach is to **upgrade to the latest minor version within your current major version before going to the next major version**. For example, if you're currently on 15.6, upgrade to 15.7 first, then you can upgrade to 16.3. This two-step approach avoids any potential conflicts caused by differing `llvm` versions on Red Hat Enterprise Linux 8 and compatible derivatives. - - - -The following is the list of extensions available in Percona Distribution for PostgreSQL. - -| Extension | Version | Description | -| ------------------- | -------------- | ---------------------------- | -| [etcd](https://etcd.io/)| 3.5.13 | A distributed, reliable key-value store for setting up high available Patroni clusters | -| [HAProxy](http://www.haproxy.org/) | 2.8.9 | a high-availability and load-balancing solution | -| [Patroni](https://patroni.readthedocs.io/en/latest/) | 3.3.0 | a HA (High Availability) solution for PostgreSQL | -| [PgAudit](https://www.pgaudit.org/) | 16 | provides detailed session or object audit logging via the standard logging facility provided by PostgreSQL | -| [pgAudit set_user](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](https://pgbackrest.org/) | 2.51 | a backup and restore solution for PostgreSQL | -|[pgBadger](https://github.com/darold/pgbadger) | 12.4 | a fast PostgreSQL Log Analyzer.| -|[PgBouncer](https://www.pgbouncer.org/) |1.22.1 | a lightweight connection pooler for PostgreSQL| -| [pg_gather](https://github.com/jobinau/pg_gather)| v26 | an SQL script for running the diagnostics of the health of PostgreSQL cluster | -| [pgpool2](https://git.postgresql.org/gitweb/?p=pgpool2.git;a=summary) | 4.5.1 | a middleware between PostgreSQL server and client for high availability, connection pooling and load balancing.| -| [pg_repack](https://github.com/reorg/pg_repack) | 1.5.0 | rebuilds PostgreSQL database objects | -| [pg_stat_monitor](https://github.com/percona/pg_stat_monitor)|2.0.4 | collects and aggregates statistics for PostgreSQL and provides histogram information.| -| [PostGIS](https://github.com/postgis/postgis) | 3.3.6 | a spatial extension for PostgreSQL.| -| [PostgreSQL Common](https://salsa.debian.org/postgresql/postgresql-common)| 259 | 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](https://github.com/eulerto/wal2json) |2.6 | a PostgreSQL logical decoding JSON output plugin| - -Percona Distribution for PostgreSQL Red Hat Enterprise Linux 8 and compatible derivatives also includes the following packages: - -* `llvm` 16.0.6 packages. This fixes compatibility issues with LLVM from upstream. -* supplemental `python3-etcd` packages, which can be used for setting up Patroni clusters. - - - -Percona Distribution for PostgreSQL is also shipped with the [libpq](https://www.postgresql.org/docs/16/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." diff --git a/docs/release-notes-v16.4.md b/docs/release-notes-v16.4.md deleted file mode 100644 index a8de8257e..000000000 --- a/docs/release-notes-v16.4.md +++ /dev/null @@ -1,59 +0,0 @@ -# Percona Distribution for PostgreSQL 16.4 ({{date.16_4}}) - -[Installation](installing.md){.md-button} - ---8<-- "release-notes-intro.md" - -This release of Percona Distribution for PostgreSQL is based on [PostgreSQL 16.4](https://www.postgresql.org/docs/16/release-16-4.html). - -## Release Highlights - -* This release of Percona Distribution for PostgreSQL fixes security vulnerability [CVE-2024-7348](https://nvd.nist.gov/vuln/detail/CVE-2024-7348). - -* Percona Distribution for PostgreSQL packages and tarballs are now also available for ARM64 architectures. Thus, users can not only run Percona Distribution for PostgreSQL in Docker containers on ARM-based workstations but also install the packages on those workstations. The ARM64 packages are available for the following operating systems: - - * Red Hat Enterprise Linux 8 and compatible derivatives - * Red Hat Enterprise Linux 9 and compatible derivatives - * Ubuntu 20.04 (Focal Fossa) - * Ubuntu 22.04 (Jammy Jellyfish) - * Ubuntu 24.04 (Noble Numbat) - * Debian 11 - * Debian 12 - -* Percona Distribution for PostgreSQL includes the enhanced telemetry feature and provides comprehensive information about how telemetry works, its components and metrics as well as updated methods how to disable telemetry. Read more in [Telemetry and data collection](telemetry.md) - -* Percona Distribution for PostgreSQL includes `pg_stat_monitor` 2.1.0 that provides the ability to [disable the application name tracking for a query](https://docs.percona.com/pg-stat-monitor/configuration.html#pg_stat_monitorpgsm_track_application_names). This way you can optimize query execution performance. - -## Packaging Changes - -Percona Distribution for PostgreSQL is no longer supported on Debian 10 and Red Hat Enterprise Linux 7 and compatible derivatives. - - -The following is the list of extensions available in Percona Distribution for PostgreSQL. - -| Extension | Version | Description | -| ------------------- | -------------- | ---------------------------- | -| [etcd](https://etcd.io/)| 3.5.15 | A distributed, reliable key-value store for setting up high available Patroni clusters | -| [HAProxy](http://www.haproxy.org/) | 2.8.10 | a high-availability and load-balancing solution | -| [Patroni](https://patroni.readthedocs.io/en/latest/) | 3.3.2 | a HA (High Availability) solution for PostgreSQL | -| [PgAudit](https://www.pgaudit.org/) | 16 | provides detailed session or object audit logging via the standard logging facility provided by PostgreSQL | -| [pgAudit set_user](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](https://pgbackrest.org/) | 2.53 | a backup and restore solution for PostgreSQL | -|[pgBadger](https://github.com/darold/pgbadger) | 12.4 | a fast PostgreSQL Log Analyzer.| -|[PgBouncer](https://www.pgbouncer.org/) |1.23.1 | a lightweight connection pooler for PostgreSQL| -| [pg_gather](https://github.com/jobinau/pg_gather)| v27 | an SQL script for running the diagnostics of the health of PostgreSQL cluster | -| [pgpool2](https://git.postgresql.org/gitweb/?p=pgpool2.git;a=summary) | 4.5.2 | a middleware between PostgreSQL server and client for high availability, connection pooling and load balancing.| -| [pg_repack](https://github.com/reorg/pg_repack) | 1.5.0 | rebuilds PostgreSQL database objects | -| [pg_stat_monitor](https://github.com/percona/pg_stat_monitor)|{{pgsmversion}} | collects and aggregates statistics for PostgreSQL and provides histogram information.| -| [PostGIS](https://github.com/postgis/postgis) | 3.3.6 | a spatial extension for PostgreSQL.| -| [PostgreSQL Commons](https://salsa.debian.org/postgresql/postgresql-common)| 261 | 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](https://github.com/eulerto/wal2json) |2.6 | a PostgreSQL logical decoding JSON output plugin| - -Percona Distribution for PostgreSQL Red Hat Enterprise Linux 8 and compatible derivatives also includes the following packages: - -* `llvm` 17.0.6 packages. This fixes compatibility issues with LLVM from upstream. -* supplemental `python3-etcd` packages, which can be used for setting up Patroni clusters. - -Percona Distribution for PostgreSQL is also shipped with the [libpq](https://www.postgresql.org/docs/16/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." diff --git a/docs/release-notes-v17.0.md b/docs/release-notes-v17.0.md new file mode 100644 index 000000000..d2247029b --- /dev/null +++ b/docs/release-notes-v17.0.md @@ -0,0 +1,137 @@ +# Percona Distribution for PostgreSQL 17.0.1 ({{date.17_0}}) + +[Installation](installing.md){.md-button} +[Upgrade](major-upgrade.md){.md-button} + + +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.0.1** - a binary compatible, open source drop in replacement of [PostgreSQL Community 17.0 :octicons-link-external-16:](https://www.postgresql.org/docs/17/release-17.html). + +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 + version + ---------------------------------------------------------------------------------------------------------------------------------------------- + PostgreSQL 17.0 - Percona Server for PostgreSQL 17.0.1 + ``` + +Alternatively, you can pass the `--version` flag when you establish the `psql` session: + +```{.bash data-prompt="$"} +$ psql --version +``` + +??? example "Sample output" + + ```sql + psql (PostgreSQL) 17.0 - Percona Server for PostgreSQL 17.0.1 + ``` +## Release Highlights + +### Percona Server for PostgreSQL improvements + +* Exposed Storage Manager API to enable PostgreSQL extensions to hook in custom storage managers. +* Extended Write-Ahead Log (WAL) API to hook into WAL read and write functions. + +### PostgreSQL Community improvements + +PostgreSQL Community 17 features a lot of new functionalities and enhancements to performance, replication, monitoring, developer experience and more. Among them are the following: + +#### Incremental base backups + +Save time and storage space with the ability to back up only the changes since the last backup using [`pg_basebackup`](https://www.postgresql.org/docs/17/continuous-archiving.html#BACKUP-INCREMENTAL-BACKUP) with the `--incremental` option. The new [`pg_combinebackup`](https://www.postgresql.org/docs/17/app-pgcombinebackup.html) tool allows manipulation of base and incremental file system backups for recovery. + +Note that you still require a full backup to derive the increments from and to be used during recovery. + +This feature is especially beneficial for organizations with large data sets where a full backup is a time-consuming and resource-intensive operation. + +#### Performance improvements + +* Vacuum Process Enhancements: The VACUUM process, responsible for reclaiming storage, now has a new internal data structure, reducing memory usage by up to 20x and improving overall performance. +* The new stream I/O interface can enhance performance during sequential scans and when running the `ANALYZE` command. +* Added support for parallel index builds for `BRIN` indexes, which can significantly speed up index creation. Additionally, this release significantly improves execution time of queries that use the `IN` clause with a B-tree index. + +#### Developer experience + +* Developers can now transform JSON objects into a standard database table and convert JSON values to different data types directly within SQL statements. This adds flexibility when working with multiple data formats. +* Run bulk upload and export data from PostgreSQL up to 2x faster with improved `COPY` performance. In addition, use the `ON_ERROR` option to proceed with the copy operation even if there is an error inserting a row. +* The RETURNING clause added to the MERGE command enables developers to retrieve and return the rows modified by the MERGE operation in a single step, reducing the need for additional queries and simplifying complex workflows. + +#### Replication improvements + +* Gain more control for managing PostgreSQL databases in high availability environments with the ability to continue logical replication from a new primary node after the failover. +* Track inactive and invalid replication slots in the `pg_replication_slots` view. With the `inactive_since` and `invalidation_reason` columns added to this view, you can get insights when a slot became inactive as well as the reason for an invalid slot. +* Convert a physical replica into a logical one using the new [`pg_createsubscriber`](https://www.postgresql.org/docs/17/app-pgcreatesubscriber.html) command-line tool + +#### Security improvements + +* Enable users to perform maintenance operations such as ANALYZE, VACUUM, REINDEX, CLUSTER, REFRESH MATERIALIZED VIEW, and LOCK TABLE on all relations by assigning the new predefined `pg_maintain` role to them. In addition, the `search_path` is safe for maintenance operations like VACUUM, ANALYZE, CLUSTER, REFRESH MATERIALIZED VIEW and INDEX. + +#### Monitoring improvements + +* Get deeper insights about query plans and execution with the new options for the EXPLAIN command: + + * SERIALIZE shows the amount of time it takes to convert data for network transmission + * MEMORY reports optimizer memory usage + +* Learn about why an active session is waiting using the `pg_stat_activity` and new `pg_wait_events` views + +!!! admonition "See also" + + * [PostgreSQL 17 release announcement :octicons-link-external-16:](https://www.postgresql.org/about/news/postgresql-17-released-2936/) + * [PostgreSQL 17 release notes :octicons-link-external-16:](https://www.postgresql.org/docs/17/release-17.html) + * Percona Blog: [The Powerful Features Released in PostgreSQL 17 Beta 2](https://www.percona.com/blog/the-powerful-features-released-in-postgresql-17-beta-2/) + +### Join Percona Squad + +Participate in monthly SWAG raffles, get an early access to new product features and invite-only “ask me anything” sessions with database performance experts. Interested? [Fill in the form](https://squad.percona.com/pg) + +## Known Limitations + +Percona Monitoring and Management (PMM) 2.43.1 is not compatible with `pg_stat_monitor` 2.1.0 to monitor PostgreSQL 17. However, PMM is compatible with `pg_stat_monitor` 2.1.0 for monitoring of PostgreSQL 16 and previous versions. + +The support for PostgreSQL 17 will be available in the future PMM release. + + +------------------------------------------------------------------------------ + + +The following is the list of extensions available in Percona Distribution for PostgreSQL. + +| Extension | Version | Description | +| ------------------- | -------------- | ---------------------------- | +| [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.1.0 | 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: + +* `llvm` 17.0.6 packages. This fixes compatibility issues with LLVM from upstream. +* supplemental `python3-etcd` packages, which can be 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." \ No newline at end of file diff --git a/docs/release-notes.md b/docs/release-notes.md index 7fae13f6f..558f9572e 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,15 +1,3 @@ # Percona Distribution for PostgreSQL release notes -* [Percona Distribution for PostgreSQL 16.4](release-notes-v16.4.md) ({{date.16_4}}) - -* [Percona Distribution for PostgreSQL 16.3](release-notes-v16.3.md) (2024-06-06) - -* [Percona Distribution for PostgreSQL 16.2](release-notes-v16.2.md) (2024-02-27) - -* [Percona Distribution for PostgreSQL 16.1 Update](release-notes-v16.1.upd.md) (2024-01-18) - -* [Percona Distribution for PostgreSQL 16.1](release-notes-v16.1.md) (2023-11-29) - -* [Percona Distribution for PostgreSQL 16.0 Update](release-notes-v16.0.upd.md) (2023-11-02) - * [Percona Distribution for PostgreSQL 16](release-notes-v16.0.md) (2023-09-19) diff --git a/docs/repo-overview.md b/docs/repo-overview.md index cd7abae19..95ddf494b 100644 --- a/docs/repo-overview.md +++ b/docs/repo-overview.md @@ -4,7 +4,7 @@ Percona provides two repositories for Percona Distribution for PostgreSQL. | Major release repository | Minor release repository | | ------------------------ | ------------------------ | -| *Major Release repository* (`ppg-16`) it includes the latest version packages. Whenever a package is updated, the package manager of your operating system detects that and prompts you to update. As long as you update all Distribution packages at the same time, you can ensure that the packages you’re using have been tested and verified by Percona.

We recommend installing Percona Distribution for PostgreSQL from the *Major Release repository*| *Minor Release repository* includes a particular minor release of the database and all of the packages that were tested and verified to work with that minor release (e.g. `ppg-16.0`). You may choose to install Percona Distribution for PostgreSQL from the Minor Release repository if you have decided to standardize on a particular release which has passed rigorous testing procedures and which has been verified to work with your applications. This allows you to deploy to a new host and ensure that you’ll be using the same version of all the Distribution packages, even if newer releases exist in other repositories.

The disadvantage of using a Minor Release repository is that you are locked in this particular release. When potentially critical fixes are released in a later minor version of the database, you will not be prompted for an upgrade by the package manager of your operating system. You would need to change the configured repository in order to install the upgrade.| +| *Major Release repository* (`ppg-{{pgversion}}`) it includes the latest version packages. Whenever a package is updated, the package manager of your operating system detects that and prompts you to update. As long as you update all Distribution packages at the same time, you can ensure that the packages you’re using have been tested and verified by Percona.

We recommend installing Percona Distribution for PostgreSQL from the *Major Release repository*| *Minor Release repository* includes a particular minor release of the database and all of the packages that were tested and verified to work with that minor release (e.g. `ppg-{{dockertag}}`). You may choose to install Percona Distribution for PostgreSQL from the Minor Release repository if you have decided to standardize on a particular release which has passed rigorous testing procedures and which has been verified to work with your applications. This allows you to deploy to a new host and ensure that you’ll be using the same version of all the Distribution packages, even if newer releases exist in other repositories.

The disadvantage of using a Minor Release repository is that you are locked in this particular release. When potentially critical fixes are released in a later minor version of the database, you will not be prompted for an upgrade by the package manager of your operating system. You would need to change the configured repository in order to install the upgrade.| ## Repository contents diff --git a/docs/solutions/dr-pgbackrest-setup.md b/docs/solutions/dr-pgbackrest-setup.md index 1e89747e4..af548538e 100644 --- a/docs/solutions/dr-pgbackrest-setup.md +++ b/docs/solutions/dr-pgbackrest-setup.md @@ -141,7 +141,7 @@ Install Percona Distribution for PostgreSQL in the primary and the secondary nod 2. Enable the repository: ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` 3. Install Percona Distribution for PostgreSQL packages @@ -149,13 +149,13 @@ Install Percona Distribution for PostgreSQL in the primary and the secondary nod === ":material-debian: On Debian and Ubuntu" ```{.bash data-prompt="$"} - $ sudo apt install percona-postgresql-16 -y + $ sudo apt install percona-postgresql-{{pgversion}} -y ``` === ":material-redhat: On RedHat Enterprise Linux and derivatives" ```{.bash data-prompt="$"} - $ sudo yum install percona-postgresql16-server + $ sudo yum install percona-postgresql{{pgversion}}-server ``` ### Configure PostgreSQL on the primary node for continuous backup @@ -164,9 +164,9 @@ At this step, configure the PostgreSQL instance on the `pg-primary` node for con !!! note - :material-debian: On Debian and Ubuntu, the path to the configuration file is `/etc/postgresql/16/main/postgresql.conf`. + :material-debian: On Debian and Ubuntu, the path to the configuration file is `/etc/postgresql{{pgversion}}/main/postgresql.conf`. - On RHEL and CentOS, the path to the configuration file is `/var/lib/pgsql/16/data/`. + On RHEL and CentOS, the path to the configuration file is `/var/lib/pgsql/{{pgversion}}/data/`. 1. Edit the `postgresql.conf` configuration file to include the following changes: diff --git a/docs/solutions/ha-setup-apt.md b/docs/solutions/ha-setup-apt.md index c3baa590a..197027aad 100644 --- a/docs/solutions/ha-setup-apt.md +++ b/docs/solutions/ha-setup-apt.md @@ -87,7 +87,7 @@ Run the following commands on `node1`, `node2` and `node3`: * Enable the repository: ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` * [Install Percona Distribution for PostgreSQL packages](../apt.md). @@ -118,7 +118,7 @@ Run the following commands on `node1`, `node2` and `node3`: ```{.bash data-prompt="$"} $ sudo systemctl stop postgresql - $ sudo rm -rf /var/lib/postgresql/16/main + $ sudo rm -rf /var/lib/postgresql/{{pgversion}}/main ``` ## Configure etcd distributed store @@ -226,17 +226,17 @@ The `etcd` cluster is first started in one node and then the subsequent nodes ar 2. On `node3`, create the configuration file. You can edit the sample configuration file `/etc/etcd/etcd.conf.yaml` or create your own one. Replace the node names and IP addresses with the actual names and IP addresses of your nodes. - ```yaml title="/etc/etcd/etcd.conf.yaml" - name: 'node1' - initial-cluster-token: PostgreSQL_HA_Cluster_1 - initial-cluster-state: existing - initial-cluster: node1=http://10.104.0.1:2380,node2=http://10.104.0.2:2380,node3=http://10.104.0.3:2380 - data-dir: /var/lib/etcd - initial-advertise-peer-urls: http://10.104.0.3:2380 - listen-peer-urls: http://10.104.0.3:2380 - advertise-client-urls: http://10.104.0.3:2379 - listen-client-urls: http://10.104.0.3:2379 - ``` + ```yaml title="/etc/etcd/etcd.conf.yaml" + name: 'node1' + initial-cluster-token: PostgreSQL_HA_Cluster_1 + initial-cluster-state: existing + initial-cluster: node1=http://10.104.0.1:2380,node2=http://10.104.0.2:2380,node3=http://10.104.0.3:2380 + data-dir: /var/lib/etcd + initial-advertise-peer-urls: http://10.104.0.3:2380 + listen-peer-urls: http://10.104.0.3:2380 + advertise-client-urls: http://10.104.0.3:2379 + listen-client-urls: http://10.104.0.3:2379 + ``` 3. Start the `etcd` service to apply the changes. @@ -281,8 +281,8 @@ Run the following commands on all nodes. You can do this in parallel: * Create variables to store the PATH: ```bash - DATA_DIR="/var/lib/postgresql/16/main" - PG_BIN_DIR="/usr/lib/postgresql/16/bin" + DATA_DIR="/var/lib/postgresql/{{pgversion}}/main" + PG_BIN_DIR="/usr/lib/postgresql/{{pgversion}}/bin" ``` **NOTE**: Check the path to the data and bin folders on your operating system and change it for the variables accordingly. @@ -397,7 +397,7 @@ Run the following commands on all nodes. You can do this in parallel: 3. Check that the systemd unit file `patroni.service` is created in `/etc/systemd/system`. If it is created, skip this step. - If it's **not created**, create it manually and specify the following contents within: + If it's **not created**, create it manually and specify the following contents within: ```ini title="/etc/systemd/system/patroni.service" [Unit] @@ -442,7 +442,7 @@ Run the following commands on all nodes. You can do this in parallel: $ sudo systemctl restart patroni ``` -When Patroni starts, it initializes PostgreSQL (because the service is not currently running and the data directory is empty) following the directives in the bootstrap section of the configuration file. + When Patroni starts, it initializes PostgreSQL (because the service is not currently running and the data directory is empty) following the directives in the bootstrap section of the configuration file. 6. Check the service to see if there are errors: @@ -490,7 +490,7 @@ $ sudo psql -U postgres The command output is the following: ``` -psql (16.0) +psql ({{dockertag}}) Type "help" for help. postgres=# diff --git a/docs/solutions/ha-setup-yum.md b/docs/solutions/ha-setup-yum.md index d88fe1595..688e75dd8 100644 --- a/docs/solutions/ha-setup-yum.md +++ b/docs/solutions/ha-setup-yum.md @@ -84,7 +84,7 @@ It's not necessary to have name resolution, but it makes the whole setup more re * Enable the repository: ```{.bash data-prompt="$"} - $ sudo percona-release setup ppg16 + $ sudo percona-release setup ppg{{pgversion}} ``` * [Install Percona Distribution for PostgreSQL packages](../yum.md). @@ -272,7 +272,7 @@ Run the following commands on all nodes. You can do this in parallel: ```bash DATA_DIR="/var/lib/pgsql/data/" - PG_BIN_DIR="/usr/pgsql-16/bin" + PG_BIN_DIR="/usr/pgsql-{{pgversion}}/bin" ``` **NOTE**: Check the path to the data and bin folders on your operating system and change it for the variables accordingly. @@ -457,7 +457,7 @@ Run the following commands on all nodes. You can do this in parallel: ```{.bash data-prompt="$"} $ sudo psql -U postgres - psql (16.0) + psql ({{dockertag}}) Type "help" for help. postgres=# diff --git a/docs/solutions/pgbackrest.md b/docs/solutions/pgbackrest.md index 5b147f3f0..7697f4e19 100644 --- a/docs/solutions/pgbackrest.md +++ b/docs/solutions/pgbackrest.md @@ -17,7 +17,7 @@ $ sudo su - 1. Enable the repository with [percona-release :octicons-link-external-16:](https://www.percona.com/doc/percona-repo-config/index.html) ```{.bash data-prompt="$"} - $ percona-release setup ppg-16 + $ percona-release setup ppg-{{pgversion}} ``` 2. Install pgBackRest package @@ -120,7 +120,7 @@ $ sudo su - pg1-host=${NODE1_NAME} pg1-host-port=8432 pg1-port=5432 - pg1-path=/var/lib/postgresql/16/main + pg1-path=/var/lib/postgresql/{{pgversion}}/main pg1-host-type=tls pg1-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg1-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -130,7 +130,7 @@ $ sudo su - pg2-host=${NODE2_NAME} pg2-host-port=8432 pg2-port=5432 - pg2-path=/var/lib/postgresql/16/main + pg2-path=/var/lib/postgresql/{{pgversion}}/main pg2-host-type=tls pg2-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg2-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -140,7 +140,7 @@ $ sudo su - pg3-host=${NODE3_NAME} pg3-host-port=8432 pg3-port=5432 - pg3-path=/var/lib/postgresql/16/main + pg3-path=/var/lib/postgresql/{{pgversion}}/main pg3-host-type=tls pg3-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg3-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -201,7 +201,7 @@ $ sudo su - pg1-host=${NODE1_NAME} pg1-host-port=8432 pg1-port=5432 - pg1-path=/var/lib/pgsql/16/data + pg1-path=/var/lib/pgsql/{{pgversion}}/data pg1-host-type=tls pg1-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg1-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -211,7 +211,7 @@ $ sudo su - pg2-host=${NODE2_NAME} pg2-host-port=8432 pg2-port=5432 - pg2-path=/var/lib/pgsql/16/data + pg2-path=/var/lib/pgsql/{{pgversion}}/data pg2-host-type=tls pg2-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg2-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -221,7 +221,7 @@ $ sudo su - pg3-host=${NODE3_NAME} pg3-host-port=8432 pg3-port=5432 - pg3-path=/var/lib/pgsql/16/data + pg3-path=/var/lib/pgsql/{{pgversion}}/data pg3-host-type=tls pg3-host-cert-file=${CA_PATH}/${SRV_NAME}.crt pg3-host-key-file=${CA_PATH}/${SRV_NAME}.key @@ -369,7 +369,7 @@ Run the following commands on `node1`, `node2`, and `node3`. tls-server-auth=${SRV_NAME}=cluster_1 [cluster_1] - pg1-path=/var/lib/postgresql/16/main + pg1-path=/var/lib/postgresql/{{pgversion}}/main EOF ``` @@ -399,7 +399,7 @@ Run the following commands on `node1`, `node2`, and `node3`. tls-server-auth=${SRV_NAME}=cluster_1 [cluster_1] - pg1-path=/var/lib/pgsql/16/data + pg1-path=/var/lib/pgsql/{{pgversion}}/data EOF ``` diff --git a/docs/tarball.md b/docs/tarball.md index fdc05b36e..33fff52ec 100644 --- a/docs/tarball.md +++ b/docs/tarball.md @@ -4,8 +4,11 @@ You can find the binary tarballs on the [Percona website](https://www.percona.co There are the following tarballs available both for x86_64 and ARM64 architectures: -* percona-postgresql-{{dockertag}}-ssl1.1-linux-.tar.gz - for operating systems that run OpenSSL version 1.x -* percona-postgresql-{{dockertag}}-ssl3-linux-.tar.gz - for operating systems that run OpenSSL version 3.x +* percona-postgresql-{{dockertag}}-ssl1.1-linux-aarch64.tar.gz - for operating systems on ARM64 architecture that run OpenSSL version 1.x +* percona-postgresql-{{dockertag}}-ssl1.1-linux-x86_64.tar.gz - for operating systems on x86_64 architecture that run OpenSSL version 1.x +* percona-postgresql-{{dockertag}}-ssl3-linux-aarch64.tar.gz - for operating systems on ARM64 architecture that run OpenSSL version 3.x +* percona-postgresql-{{dockertag}}-ssl3-linux-x86_64.tar.gz - for operating systems on x86_64 architecture that run OpenSSL version 3.x + To check what OpenSSL version you have, run the following command: @@ -77,7 +80,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. @@ -142,13 +145,13 @@ The steps below install the tarballs for OpenSSL 3.x on x86_64 architecture. Use 9. Connect to `psql` ```{.bash data-prompt="$"} - $ /opt/pgdistro/percona-postgresql{{pgversion}}/bin/psql + $ /opt/pgdistro/percona-postgresql{{pgversion}}/bin/psql -d postgres ``` ??? example "Sample output" ```{.text .no-copy} - psql ({{dockertag}}) + psql ({{pspgversion}} (Percona Server for PostgreSQL), server {{pspgversion}} (Percona Server for PostgreSQL)) Type "help" for help. postgres=# diff --git a/docs/uninstalling.md b/docs/uninstalling.md index 86c3b4d79..985b5eee6 100644 --- a/docs/uninstalling.md +++ b/docs/uninstalling.md @@ -22,14 +22,14 @@ To uninstall Percona Distribution for PostgreSQL, remove all the installed packa 2. Remove the **percona-postgresql** packages. ```{.bash data-prompt="$"} - $ sudo apt remove percona-postgresql-16* percona-patroni percona-pgbackrest percona-pgbadger percona-pgbouncer + $ sudo apt remove percona-postgresql-{{pgversion}}* percona-patroni percona-pgbackrest percona-pgbadger percona-pgbouncer ``` 3. Remove configuration and data files. ```{.bash data-prompt="$"} - $ rm -rf /etc/postgresql/16/main + $ rm -rf /etc/postgresql/{{pgversion}}/main ``` === ":material-redhat: On Red Hat Enterprise Linux and derivatives using `yum`" @@ -44,21 +44,21 @@ To uninstall Percona Distribution for PostgreSQL, remove all the installed packa 1. Stop the Percona Distribution for PostgreSQL service. ```{.bash data-prompt="$"} - $ sudo systemctl stop postgresql-16 + $ sudo systemctl stop postgresql-{{pgversion}} ``` 2. Remove the **percona-postgresql** packages ```{.bash data-prompt="$"} - $ sudo yum remove percona-postgresql16* percona-pgbadger + $ sudo yum remove percona-postgresql{{pgversion}}* percona-pgbadger ``` 3. Remove configuration and data files ```{.bash data-prompt="$"} - $ rm -rf /var/lib/pgsql/16/data + $ rm -rf /var/lib/pgsql/{{pgversion}}/data ``` ## Uninstall from tarballs diff --git a/docs/yum.md b/docs/yum.md index 884961a70..4cd57fcfe 100644 --- a/docs/yum.md +++ b/docs/yum.md @@ -293,7 +293,7 @@ $ sudo yum -y install curl $ sudo yum install percona-patroni ``` - [Install `pg_stat_monitor`](pg-stat-monitor.md): + [Install `pg_stat_monitor` :octicons-link-external-16:](https://docs.percona.com/pg-stat-monitor/install.html#__tabbed_1_1) Install `pgBouncer`: @@ -363,6 +363,18 @@ Start the PostgreSQL service: $ sudo systemctl start postgresql-{{pgversion}} ``` +Check the Percona Distribution for PostgreSQL version: + +```{.bash data-prompt="$"} +$ psql --version +``` + +??? example "Sample output" + + ```{.text .no-copy} + psql (PostgreSQL) {{pspgversion}} (Percona Server for PostgreSQL) {{pspgversion}} + ``` + Congratulations! Your Percona Distribution for PostgreSQL is up and running. ## Next steps diff --git a/mkdocs-base.yml b/mkdocs-base.yml index 74c73544e..f0ea54a63 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -7,7 +7,7 @@ copyright: Percona LLC and/or its a repo_name: percona/postgresql-docs repo_url: https://github.com/percona/postgresql-docs -edit_uri: edit/16/docs/ +edit_uri: edit/17/docs/ use_directory_urls: false @@ -128,10 +128,10 @@ plugins: # glob: # - file.md with-pdf: # https://github.com/orzih/mkdocs-with-pdf - output_path: '_pdf/PerconaDistributionPostgreSQL-16.pdf' + output_path: '_pdf/PerconaDistributionPostgreSQL-17.pdf' cover_title: 'Distribution for PostgreSQL Documentation' - cover_subtitle: 16.4 (September 10, 2024) + cover_subtitle: 17.0 (October 3, 2024) author: 'Percona Technical Documentation Team' cover_logo: docs/_images/Percona_Logo_Color.png debug_html: false @@ -152,7 +152,7 @@ extra: nav: - 'Home': 'index.md' - + - 'Percona Server for PostgreSQL': postgresql-server.md - Get started: - Quickstart guide: installing.md - 1. Install: @@ -197,13 +197,7 @@ nav: - Uninstall: uninstalling.md - Release Notes: - "Release notes index": "release-notes.md" - - release-notes-v16.4.md - - release-notes-v16.3.md - - release-notes-v16.2.md - - release-notes-v16.1.upd.md - - release-notes-v16.1.md - - release-notes-v16.0.upd.md - - release-notes-v16.0.md + - release-notes-v17.0.md - Reference: - Telemetry: telemetry.md - Licensing: licensing.md diff --git a/snippets/services-banner.md b/snippets/services-banner.md index 2bb683aac..9af303788 100644 --- a/snippets/services-banner.md +++ b/snippets/services-banner.md @@ -7,7 +7,7 @@ If you need assistance, visit the community forum for comprehensive and free dat
-[:material-forum-outline: Community Forum](https://forums.percona.com/c/postgresql/25?utm_campaign=Doc%20pages) [:percona-logo: Get a Percona Expert](https://www.percona.com/about/contact) +[:material-forum-outline: Community Forum](https://forums.percona.com/c/postgresql/25?utm_campaign=Doc%20pages) [:percona-logo: Get a Percona Expert](https://www.percona.com/about/contact) [:percona-logo-postgresql: Join Percona Squad](https://squad.percona.com/pg)
diff --git a/variables.yml b/variables.yml index c726ba15a..9342bac61 100644 --- a/variables.yml +++ b/variables.yml @@ -1,13 +1,14 @@ # PG Variables set for HTML output # See also mkdocs.yml plugins.with-pdf.cover_subtitle and output_path -release: 'release-notes-v16.4' -dockertag: '16.4' -pgversion: '16' +release: 'release-notes-v17.0' +dockertag: '17.0' +pgversion: '17' pgsmversion: '2.1.0' +pspgversion: '17.0.1' date: - 16_4: 2024-09-10 + 17_0: 2024-10-03