From f89c9485d9235cc48926a9bf98f25ccf457e966a Mon Sep 17 00:00:00 2001 From: Nick Ivanov <103075931+nick-ivanov-edb@users.noreply.github.com> Date: Fri, 17 Mar 2023 16:22:24 -0400 Subject: [PATCH 1/7] Update 08_harpctl.mdx Descriptions for `harpctl get location` and `harpctl get leader` erroneously state that the location name is optional and will be determined automatically if omitted. In fact both commands fail if the location is omitted. --- product_docs/docs/pgd/4/harp/08_harpctl.mdx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/pgd/4/harp/08_harpctl.mdx b/product_docs/docs/pgd/4/harp/08_harpctl.mdx index b08515506a8..797283a0d95 100644 --- a/product_docs/docs/pgd/4/harp/08_harpctl.mdx +++ b/product_docs/docs/pgd/4/harp/08_harpctl.mdx @@ -177,8 +177,7 @@ mycluster true ### `harpctl get leader` Fetches node information for the current lead master stored in the DCS for the -specified location. If no location is passed, `harpctl` attempts to -derive it based on the location of the current node where it was executed. +specified location. Use [`harpctl get locations`](#harpctl-get-locations) to list the defined locations. Example: @@ -192,9 +191,8 @@ mycluster mynode true primary bdr dc1 false 30 ### `harpctl get location` -Fetches location information for the specified location. If no location is -passed, `harpctl` attempts to derive it based on the location of the -current node where it was executed. +Fetches location information for the specified location. Use [`harpctl get locations`](#harpctl-get-locations) +to list the defined locations. Example: From 800ac60ba291c055256f4b22dc25620002692f38 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Mon, 20 Mar 2023 12:39:05 +0530 Subject: [PATCH 2/7] EPAS 15 - Fixed the typo as per DF-315 --- .../05_control_structures/09_pragma_exception_init.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/epas/15/epas_compat_spl/05_control_structures/09_pragma_exception_init.mdx b/product_docs/docs/epas/15/epas_compat_spl/05_control_structures/09_pragma_exception_init.mdx index 6fcb807da6c..b04d72e3864 100644 --- a/product_docs/docs/epas/15/epas_compat_spl/05_control_structures/09_pragma_exception_init.mdx +++ b/product_docs/docs/epas/15/epas_compat_spl/05_control_structures/09_pragma_exception_init.mdx @@ -40,6 +40,7 @@ CREATE OR REPLACE PACKAGE BODY ar AS RAISE overdrawn; END IF; END; +END; ``` The following procedure calls the `check_balance` procedure. If `p_amount` is greater than `p_balance`, `check_balance` raises an exception. The `purchase` procedure catches the `ar.overdrawn` exception. @@ -48,7 +49,7 @@ The following procedure calls the `check_balance` procedure. If `p_amount` is gr CREATE PROCEDURE purchase(customerID int, amount NUMERIC) AS BEGIN - ar.check_ balance(getcustomerbalance(customerid), amount); + ar.check_balance(getcustomerbalance(customerid), amount); record_purchase(customerid, amount); EXCEPTION WHEN ar.overdrawn THEN @@ -77,7 +78,7 @@ This example uses a predefined exception. The code creates a more meaningful nam ```sql CREATE OR REPLACE PACKAGE ar AS - overdrawn EXCEPTION; + unknown_customer EXCEPTION; PRAGMA EXCEPTION_INIT (unknown_customer, no_data_found); PROCEDURE check_balance(p_customer_id NUMBER); END; @@ -94,4 +95,5 @@ CREATE OR REPLACE PACKAGE BODY ar AS DBMS_OUTPUT.PUT_LINE('invalid customer id'); RAISE; END; +END; ``` From 946dd91514e71518e6d8f4a308e63a78802adeef Mon Sep 17 00:00:00 2001 From: cnp-autobot Date: Mon, 20 Mar 2023 12:00:00 +0000 Subject: [PATCH 3/7] [create-pull-request] automated change --- .../docs/postgres_for_kubernetes/1/addons.mdx | 243 +++++++++++++----- .../1/api_reference.mdx | 66 ++--- .../1/backup_recovery.mdx | 18 ++ .../1/connection_pooling.mdx | 4 +- .../docs/postgres_for_kubernetes/1/index.mdx | 6 +- .../1/installation_upgrade.mdx | 30 ++- .../postgres_for_kubernetes/1/monitoring.mdx | 4 +- .../postgres_for_kubernetes/1/openshift.mdx | 81 ++++-- .../1/postgresql_conf.mdx | 9 +- .../postgres_for_kubernetes/1/quickstart.mdx | 6 +- ...ample-external-backup-adapter-cluster.yaml | 35 +++ .../postgres_for_kubernetes/1/security.mdx | 71 +++++ 12 files changed, 437 insertions(+), 136 deletions(-) create mode 100644 product_docs/docs/postgres_for_kubernetes/1/samples/cluster-example-external-backup-adapter-cluster.yaml diff --git a/product_docs/docs/postgres_for_kubernetes/1/addons.mdx b/product_docs/docs/postgres_for_kubernetes/1/addons.mdx index 3efd61c9d58..2e1439c0d08 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/addons.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/addons.mdx @@ -19,7 +19,7 @@ annotation. ## External Backup Adapter -The `external-backup-adapter` add-on provides a generic way to integrate +The external backup adapter add-ons provide a generic way to integrate EDB Postgres for Kubernetes in a third-party tool for backups through customizable ways to identify via labels and/or annotations: @@ -28,7 +28,18 @@ customizable ways to identify via labels and/or annotations: - the Pod running the PostgreSQL instance that has been selected for the backup (a standby or, if not available, the primary) -The add-on allows you to define the names of the annotations that will contain +You can choose between two add-ons that only differ from each other for the way +they allow you to configure the adapter for your backup system: + +- `external-backup-adapter`: in case you want to customize the behavior at the + operator's configuration level via either a config map or a secret - and share + it with all the Postgres clusters that are managed by the operator's deployment + (see [the `external-backup-adapter` section below](#the-external-backup-adapter-add-on)) +- `external-backup-adapter-cluster`: in case you want to customize the behavior + of the adapter at the Postgres cluster level, through a specific annotation + (see [the `external-backup-adapter-cluster` section below](#the-external-backup-adapter-cluster-add-on)) + +Such add-ons allow you to define the names of the annotations that will contain the commands to be run before or after taking a backup in the pod selected by the operator. @@ -38,8 +49,6 @@ to coordinate itself with a PostgreSQL cluster, or a set of them. Recovery simply relies on the operator to reconcile the cluster from an existing PVC group. -The above behavior can be customized at the [operator's level configuration](operator_conf.md). - !!! Important The External Backup Adapter is not a tool to perform backups. It simply provides a generic interface that any third-party backup tool in the Kubernetes @@ -49,54 +58,29 @@ The above behavior can be customized at the [operator's level configuration](ope ### Customizing the adapter -The adapter can be entirely configured at operator's level, as YAML content, -via the `EXTERNAL_BACKUP_ADDON_CONFIGURATION` field in the operator's -`ConfigMap`/`Secret`. For more information, please refer to the provided -sample file or the example below: +As mentioned above, the adapter can be configured in two ways, which then +determines the actual `add-on` you need to use in your `Cluster` resource. -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: postgresql-operator-controller-manager-config - namespace: postgresql-operator-system -data: - # ... - EXTERNAL_BACKUP_ADDON_CONFIGURATION: | - electedResourcesDecorators: - - key: "app.example.com/elected" - metadataType: "label" - value: "true" - - excludedResourcesDecorators: - - key: "app.example.com/excluded" - metadataType: "label" - value: "true" - - key: "app.example.com/excluded-reason" - metadataType: "annotation" - value: "Not necessary for backup" - - backupInstanceDecorators: - - key: "app.example.com/hasHooks" - metadataType: "label" - value: "true" +If you are planning to define the same behavior for all the Postgres `Cluster` +resources managed by the operator, we recommend that you use the +`external-backup-adapter` add-on, and configure the annotations/labels in the +operator's configuration. - preBackupHookConfiguration: - container: - key: "app.example.com/pre-backup-container" - command: - key: "app.example.com/pre-backup-command" - onError: - key: "app.example.com/pre-backup-on-error" - - postBackupHookConfiguration: - container: - key: "app.example.com/post-backup-container" - command: - key: "app.example.com/post-backup-command" -``` +If you are planning to have different behaviors for a subset of the Postgres +`Cluster` resources that you have, we recommend that you use the +`external-backup-adapter-cluster` add-on. -Each section is explained below. +Both add-ons share the same capabilities in terms of customization, which needs +to be defined as a YAML object having the following keys: + +- `electedResourcesDecorators` +- `excludedResourcesDecorators` +- `backupInstanceDecorators` +- `preBackupHookConfiguration` +- `postBackupHookConfiguration` + +Each section is explained below. Further down you'll find the instructions on +how to customize each of the two add-ons, with some examples. #### The `electedResourcesDecorators` section @@ -181,34 +165,163 @@ The following fields must be provided: is a fixed value and cannot be configured. Will be saved in the annotations. To decorate the pod with hooks refer to: `instanceWithHookDecorators` +### The `external-backup-adapter` add-on + +The `external-backup-adapter` add-on can be entirely configured at operator's +level via the `EXTERNAL_BACKUP_ADDON_CONFIGURATION` field in the operator's +`ConfigMap`/`Secret`. + +For more information, please refer to the provided sample file at the end of +this section, or the example below: + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgresql-operator-controller-manager-config + namespace: postgresql-operator-system +data: + # ... + EXTERNAL_BACKUP_ADDON_CONFIGURATION: |- + electedResourcesDecorators: + - key: "app.example.com/elected" + metadataType: "label" + value: "true" + excludedResourcesDecorators: + - key: "app.example.com/excluded" + metadataType: "label" + value: "true" + - key: "app.example.com/excluded-reason" + metadataType: "annotation" + value: "Not necessary for backup" + backupInstanceDecorators: + - key: "app.example.com/hasHooks" + metadataType: "label" + value: "true" + preBackupHookConfiguration: + container: + key: "app.example.com/pre-backup-container" + command: + key: "app.example.com/pre-backup-command" + onError: + key: "app.example.com/pre-backup-on-error" + postBackupHookConfiguration: + container: + key: "app.example.com/post-backup-container" + command: + key: "app.example.com/post-backup-command" +``` + +The add-on can be activated by adding the following annotation to the `Cluster` +resource: + +```yaml +k8s.enterprisedb.io/addons: '["external-backup-adapter"]' +``` + +### The `external-backup-adapter-cluster` add-on + +The `external-backup-adapter-cluster` add-on must be configured in each +`Cluster` resource you intend to use it through the +`k8s.enterprisedb.io/externalBackupAdapterClusterConfig` annotation - which +accepts the YAML object as content - as outlined in the following example: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example + annotations: + "k8s.enterprisedb.io/addons": '["external-backup-adapter-cluster"]' + "k8s.enterprisedb.io/externalBackupAdapterClusterConfig": |- + electedResourcesDecorators: + - key: "app.example.com/elected" + metadataType: "label" + value: "true" + excludedResourcesDecorators: + - key: "app.example.com/excluded" + metadataType: "label" + value: "true" + - key: "app.example.com/excluded-reason" + metadataType: "annotation" + value: "Not necessary for backup" + backupInstanceDecorators: + - key: "app.example.com/hasHooks" + metadataType: "label" + value: "true" + preBackupHookConfiguration: + container: + key: "app.example.com/pre-backup-container" + command: + key: "app.example.com/pre-backup-command" + onError: + key: "app.example.com/pre-backup-on-error" + postBackupHookConfiguration: + container: + key: "app.example.com/post-backup-container" + command: + key: "app.example.com/post-backup-command" +spec: + instances: 3 + storage: + size: 1Gi +``` + +### About the fencing annotation + +If the configured external backup adapter backs up annotations, the fencing +annotation will be set by the pre-backup hook and persist to the restored +cluster. After restoring the cluster, you will need to manually remove the +fencing annotation from the `Cluster` object to fix this. + +This can be done with the `cnp` plugin for kubectl: + +```shell +kubectl cnp fencing off +``` + +Or, if you don't have the `cnp` plugin, you can remove the fencing annotation +manually with the following command: + +```shell +kubectl annotate cluster k8s.enterprisedb.io/fencedInstances- +``` + +Please refer to the [fencing documentation](fencing.md) for more information. + ### Limitations As far as the backup part is concerned, currently, the EDB Postgres for -Kubernetes integration with `external-backup-adapter` supports **cold backups** -only. These are also referred to as **offline backups**. This means that the -selected replica is temporarily fenced so that external-backup-adapter can take -a physical snapshot of the PVC group - namely the `PGDATA` volume and, where -available, the WAL volume. +Kubernetes integration with `external-backup-adapter` and +`external-backup-adapter-cluster` supports **cold backups** only. These are +also referred to as **offline backups**. This means that the selected replica +is temporarily fenced so that `external-backup-adapter` and +`external-backup-adapter-cluster` can take a physical snapshot of the PVC group - +namely the `PGDATA` volume and, where available, the WAL volume. In this short timeframe, the standby cannot accept read-only connections. If no standby is available - usually because we're in a single instance cluster - and the annotation `k8s.enterprisedb.io/snapshotAllowColdBackupOnPrimary` is -set to true, `external-backup-adapter` will temporarily fence the primary, -causing downtime in terms of read-write operations. This use case is normally -left to development environments. +set to true, `external-backup-adapter` and `external-backup-adapter-cluster` +will temporarily fence the primary, causing downtime in terms of read-write +operations. This use case is normally left to development environments. #### Full example of YAML file -Here is a full example of YAML content to be placed in the -`EXTERNAL_BACKUP_ADDON_CONFIGURATION` option as part of the -the [operator's configuration process described above](#customizing-the-adapter). +Here is a full example of YAML content to be placed in either: + +- the `EXTERNAL_BACKUP_ADDON_CONFIGURATION` option as part of the + the operator's configuration process described above for the + `external-backup-adapter` add-on, or +- in the `k8s.enterprisedb.io/externalBackupAdapterClusterConfig` annotation + for the `external-backup-adapter-cluster` add-on !!! Hint - Copy the content below and paste it inside the `ConfigMap` or `Secret` - that you use to configure the operator, making sure you use the `|` - character that [YAML reserves for literals](https://yaml.org/spec/1.2.2/#812-literal-style), - as well as proper indentation. Use the comments to help you - customize the options for your tool. + Copy the content below and paste it inside the `ConfigMap` or `Secret` that + you use to configure the operator or the annotation in the `Cluster`, making + sure you use the `|` character that [YAML reserves for literals](https://yaml.org/spec/1.2.2/#812-literal-style), + as well as proper indentation. Use the comments to help you customize the + options for your tool. ```yaml # An array of labels and/or annotations that will be placed diff --git a/product_docs/docs/postgres_for_kubernetes/1/api_reference.mdx b/product_docs/docs/postgres_for_kubernetes/1/api_reference.mdx index 0ffe725e809..cad1f282862 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/api_reference.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/api_reference.mdx @@ -177,9 +177,10 @@ BackupSource contains the backup we need to restore from, plus some information BackupSpec defines the desired state of Backup -| Name | Description | Type | -| --------- | --------------------- | --------------------------------------------- | -| `cluster` | The cluster to backup | [LocalObjectReference](#LocalObjectReference) | +| Name | Description | Type | +| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | +| `cluster` | The cluster to backup | [LocalObjectReference](#LocalObjectReference) | +| `target ` | The policy to decide which instance should perform this backup. If empty, it defaults to `cluster.spec.backup.target`. Available options are empty string, which will default to `primary` policy, `primary` to have backups run always on primary instances, `prefer-standby` to have backups run preferably on the most updated standby, if available. | BackupTarget | @@ -187,25 +188,26 @@ BackupSpec defines the desired state of Backup BackupStatus defines the observed state of Backup -| Name | Description | Type | -| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `endpointCA ` | EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive. | [\*SecretKeySelector](#SecretKeySelector) | -| `endpointURL ` | Endpoint to be used to upload data to the cloud, overriding the automatic endpoint discovery | string | -| `destinationPath` | The path where to store the backup (i.e. s3://bucket/path/to/folder) this path, with different destination folders, will be used for WALs and for data - *mandatory* | string | -| `serverName ` | The server name on S3, the cluster name is used if this parameter is omitted | string | -| `encryption ` | Encryption method required to S3 API | string | -| `backupId ` | The ID of the Barman backup | string | -| `phase ` | The last backup status | BackupPhase | -| `startedAt ` | When the backup was started | [\*metav1.Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#time-v1-meta) | -| `stoppedAt ` | When the backup was terminated | [\*metav1.Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#time-v1-meta) | -| `beginWal ` | The starting WAL | string | -| `endWal ` | The ending WAL | string | -| `beginLSN ` | The starting xlog | string | -| `endLSN ` | The ending xlog | string | -| `error ` | The detected error | string | -| `commandOutput ` | Unused. Retained for compatibility with old versions. | string | -| `commandError ` | The backup command output in case of error | string | -| `instanceID ` | Information to identify the instance where the backup has been taken from | [\*InstanceID](#InstanceID) | +| Name | Description | Type | +| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `endpointCA ` | EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive. | [\*SecretKeySelector](#SecretKeySelector) | +| `endpointURL ` | Endpoint to be used to upload data to the cloud, overriding the automatic endpoint discovery | string | +| `destinationPath` | The path where to store the backup (i.e. s3://bucket/path/to/folder) this path, with different destination folders, will be used for WALs and for data. This may not be populated in case of errors. | string | +| `serverName ` | The server name on S3, the cluster name is used if this parameter is omitted | string | +| `encryption ` | Encryption method required to S3 API | string | +| `backupId ` | The ID of the Barman backup | string | +| `backupName ` | The Name of the Barman backup | string | +| `phase ` | The last backup status | BackupPhase | +| `startedAt ` | When the backup was started | [\*metav1.Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#time-v1-meta) | +| `stoppedAt ` | When the backup was terminated | [\*metav1.Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#time-v1-meta) | +| `beginWal ` | The starting WAL | string | +| `endWal ` | The ending WAL | string | +| `beginLSN ` | The starting xlog | string | +| `endLSN ` | The ending xlog | string | +| `error ` | The detected error | string | +| `commandOutput ` | Unused. Retained for compatibility with old versions. | string | +| `commandError ` | The backup command output in case of error | string | +| `instanceID ` | Information to identify the instance where the backup has been taken from | [\*InstanceID](#InstanceID) | @@ -427,9 +429,11 @@ ClusterStatus defines the observed state of Cluster | `configMapResourceVersion ` | The list of resource versions of the configmaps, managed by the operator. Every change here is done in the interest of the instance manager, which will refresh the configmap data | [ConfigMapResourceVersion](#ConfigMapResourceVersion) | | `certificates ` | The configuration for the CA and related certificates, initialized with defaults. | [CertificatesStatus](#CertificatesStatus) | | `firstRecoverabilityPoint ` | The first recoverability point, stored as a date in RFC3339 format | string | +| `lastSuccessfulBackup ` | Stored as a date in RFC3339 format | string | +| `lastFailedBackup ` | Stored as a date in RFC3339 format | string | | `cloudNativePostgresqlCommitHash ` | The commit hash number of which this operator running | string | | `currentPrimaryTimestamp ` | The timestamp when the last actual promotion to primary has occurred | string | -| `currentPrimaryFailingSinceTimestamp` | The timestamp when the primary was detected to be unhealthy This field is reported only when spec.failoverDelay is populated | string | +| `currentPrimaryFailingSinceTimestamp` | The timestamp when the primary was detected to be unhealthy This field is reported when spec.failoverDelay is populated or during online upgrades | string | | `targetPrimaryTimestamp ` | The timestamp when the last request for a new primary has occurred | string | | `poolerIntegrations ` | The integration needed by poolers referencing the cluster | [\*PoolerIntegrations](#PoolerIntegrations) | | `cloudNativePostgresqlOperatorHash ` | The hash of the binary of the operator | string | @@ -685,6 +689,7 @@ PgBouncerSpec defines how to configure PgBouncer | `authQuerySecret` | The credentials of the user that need to be used for the authentication query. In case it is specified, also an AuthQuery (e.g. "SELECT usename, passwd FROM pg_shadow WHERE usename=$1") has to be specified and no automatic CNP Cluster integration will be triggered. | [\*LocalObjectReference](#LocalObjectReference) | | `authQuery ` | The query that will be used to download the hash of the password of a certain user. Default: "SELECT usename, passwd FROM user_search($1)". In case it is specified, also an AuthQuerySecret has to be specified and no automatic CNP Cluster integration will be triggered. | string | | `parameters ` | Additional parameters to be passed to PgBouncer - please check the CNP documentation for a list of options you can configure | map[string]string | +| `pg_hba ` | PostgreSQL Host Based Authentication rules (lines to be appended to the pg_hba.conf file) | \[]string | | `paused ` | When set to `true`, PgBouncer will disconnect from the PostgreSQL server, first waiting for all queries to complete, and pause all new client connections until this value is set to `false` (default). Internally, the operator calls PgBouncer's `PAUSE` and `RESUME` commands. | \*bool | @@ -908,13 +913,14 @@ ScheduledBackupList contains a list of ScheduledBackup ScheduledBackupSpec defines the desired state of ScheduledBackup -| Name | Description | Type | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -| `suspend ` | If this backup is suspended or not | \*bool | -| `immediate ` | If the first backup has to be immediately start after creation or not | \*bool | -| `schedule ` | The schedule does not follow the same format used in Kubernetes CronJobs as it includes an additional seconds specifier, see - *mandatory* | string | -| `cluster ` | The cluster to backup | [LocalObjectReference](#LocalObjectReference) | -| `backupOwnerReference` | Indicates which ownerReference should be put inside the created backup resources.
- none: no owner reference for created backup objects (same behavior as before the field was introduced)
- self: sets the Scheduled backup object as owner of the backup
- cluster: set the cluster as owner of the backup
| string | +| Name | Description | Type | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- | +| `suspend ` | If this backup is suspended or not | \*bool | +| `immediate ` | If the first backup has to be immediately start after creation or not | \*bool | +| `schedule ` | The schedule does not follow the same format used in Kubernetes CronJobs as it includes an additional seconds specifier, see - *mandatory* | string | +| `cluster ` | The cluster to backup | [LocalObjectReference](#LocalObjectReference) | +| `backupOwnerReference` | Indicates which ownerReference should be put inside the created backup resources.
- none: no owner reference for created backup objects (same behavior as before the field was introduced)
- self: sets the Scheduled backup object as owner of the backup
- cluster: set the cluster as owner of the backup
| string | +| `target ` | The policy to decide which instance should perform this backup. If empty, it defaults to `cluster.spec.backup.target`. Available options are empty string, which will default to `primary` policy, `primary` to have backups run always on primary instances, `prefer-standby` to have backups run preferably on the most updated standby, if available. | BackupTarget | diff --git a/product_docs/docs/postgres_for_kubernetes/1/backup_recovery.mdx b/product_docs/docs/postgres_for_kubernetes/1/backup_recovery.mdx index 2f28fd13dbf..4a1e8d373b6 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/backup_recovery.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/backup_recovery.mdx @@ -680,6 +680,7 @@ example below: ```yaml apiVersion: postgresql.k8s.enterprisedb.io/v1 kind: Cluster +metadata: [...] spec: backup: @@ -693,6 +694,23 @@ instance is available. By default, when not specified, target is automatically set to take backups from a primary. +The backup target specified in the `Cluster` can be overridden in the `Backup` +and `ScheduledBackup` types, like in the following example: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Backup +metadata: + [...] +spec: + cluster: + name: [...] + target: "primary" +``` + +In the previous example, EDB Postgres for Kubernetes will invariably choose the primary +instance even if the `Cluster` is set to prefer replicas. + ## Recovery Cluster restores are not performed "in-place" on an existing cluster. diff --git a/product_docs/docs/postgres_for_kubernetes/1/connection_pooling.mdx b/product_docs/docs/postgres_for_kubernetes/1/connection_pooling.mdx index 51defc41956..63877728783 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/connection_pooling.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/connection_pooling.mdx @@ -242,10 +242,10 @@ spec: image: my-pgbouncer:latest resources: requests: - cpu: 0.1 + cpu: "0.1" memory: 100Mi limits: - cpu: 0.5 + cpu: "0.5" memory: 500Mi ``` diff --git a/product_docs/docs/postgres_for_kubernetes/1/index.mdx b/product_docs/docs/postgres_for_kubernetes/1/index.mdx index bb19368bba2..661b9717b0a 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/index.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/index.mdx @@ -87,7 +87,7 @@ primary/standby architecture, using native streaming replication. - PostgreSQL replication across multiple Kubernetes clusters - Separate volume for WAL files -## Features unique to EDB Postgres for Kubernetes +## Features unique to EDB Postgres of Kubernetes - Long Term Support for 1.18.x - Red Hat certified operator for OpenShift @@ -125,7 +125,7 @@ supported for each of them and the EOL dates. ### Multiple architectures The EDB Postgres for Kubernetes Operator container images support the multi-arch -format for the following platforms: `linux/amd64`, `linux/ppc64le`, `linux/s390x`. +format for the following platforms: `linux/amd64`, `linux/arm64`, `linux/ppc64le`, `linux/s390x`. !!! Warning EDB Postgres for Kubernetes requires that all nodes in a Kubernetes cluster have the @@ -140,7 +140,7 @@ The following versions of Postgres are currently supported: - PostgreSQL 15, 14, 13, 12, and 11 - EDB Postgres Advanced 15, 14, 13, 12, and 11 -All of the above versions are available on the following platforms: `linux/amd64`, `linux/ppc64le`, `linux/s390x`. +All of the above versions are available on the following platforms: `linux/amd64`, `linux/arm64`, `linux/ppc64le`, `linux/s390x`. EDB supports operand images for `linux/ppc64le` and `linux/s390x` architectures on OpenShift only. diff --git a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx index 1a172dd78e0..5c85607ddcc 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx @@ -15,12 +15,12 @@ originalFilePath: 'src/installation_upgrade.md' The operator can be installed like any other resource in Kubernetes, through a YAML manifest applied via `kubectl`. -You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.19.0.yaml) +You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.19.1.yaml) for this minor release as follows: ```sh kubectl apply -f \ - https://get.enterprisedb.io/cnp/postgresql-operator-1.19.0.yaml + https://get.enterprisedb.io/cnp/postgresql-operator-1.19.1.yaml ``` You can verify that with: @@ -53,12 +53,12 @@ for a more comprehensive example. ports, as explained in the official [docs](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules) and by this - [issue](https://github.com/cloudnative-pg/cloudnative-pg/issues/1360). + [issue](https://github.com/EnterpriseDB/cloud-native-postgres/issues/1360). You'll need to either change the `targetPort` in the webhook service, to be one of the allowed ones, or open the webhooks' port (`9443`) on the firewall. -#### Testing the latest development snapshot +### Testing the latest development snapshot If you want to test or evaluate the latest development snapshot of EDB Postgres for Kubernetes before the next official patch release, you can download the @@ -91,13 +91,29 @@ from the [OperatorHub.io website](https://operatorhub.io), following the install ## Details about the deployment -In Kubernetes, the operator is by default installed in the `postgresql-operator-system` namespace as a Kubernetes -`Deployment` called `postgresql-operator-controller-manager`. You can get more information by running: +In Kubernetes, the operator is by default installed in the `postgresql-operator-system` +namespace as a Kubernetes `Deployment`. The name of this deployment +depends on the installation method. +When installed through the manifest or the `cnp` plugin, it is called +`postgresql-operator-controller-manager` by default. When installed via Helm, the default name +is `postgresql-operator-cloudnative-pg`. + +!!! Note + With Helm you can customize the name of the deployment via the + `fullnameOverride` field in the [*"values.yaml"* file](https://helm.sh/docs/chart_template_guide/values_files/). + +You can get more information using the `describe` command in `kubectl`: + +```sh +$ kubectl get deployments -n postgresql-operator-system +NAME READY UP-TO-DATE AVAILABLE AGE + 1/1 1 1 18m +``` ```sh kubectl describe deploy \ -n postgresql-operator-system \ - postgresql-operator-controller-manager + ``` As with any Deployment, it sits on top of a ReplicaSet and supports rolling diff --git a/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx b/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx index 4de22a85b04..e01cee5fb6a 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx @@ -382,7 +382,7 @@ data: ``` A list of basic monitoring queries can be found in the -[`default-monitoring.yaml` file](https://github.com/cloudnative-pg/cloudnative-pg/blob/main/config/manager/default-monitoring.yaml) +[`default-monitoring.yaml` file](https://github.com/EnterpriseDB/cloud-native-postgres/blob/main/config/manager/default-monitoring.yaml) that is already installed in your EDB Postgres for Kubernetes deployment (see ["Default set of metrics"](#default-set-of-metrics)). #### Example of a user defined metric running on multiple databases @@ -677,7 +677,7 @@ kubectl delete -f curl.yaml These resources are provided for illustration and experimentation, and do not represent any kind of recommendation for your production system -In the [`samples/monitoring/`](https://github.com/EnterpriseDB/docs/tree/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring) +In the [`doc/src/samples/monitoring/`](https://github.com/EnterpriseDB/cloud-native-postgres/tree/main/docs/src/samples/monitoring) directory you will find a series of sample files for observability. Please refer to [Part 4 of the quickstart](quickstart.md#part-4-monitor-clusters-with-prometheus-and-grafana) section for context: diff --git a/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx b/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx index 8d4c05a4ea9..b880f80c4bc 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx @@ -88,23 +88,6 @@ it would take a full region outage to bring down your cluster. Moreover, you can take advantage of multiple OpenShift clusters in different regions by setting up replica clusters, as previously mentioned. -## Important information about upgrading to a 1.16.x operator version on Openshift - -We have made a change to the way conditions are represented in the status of -the operator in version 1.16.0 and onward. This change could cause an operator -upgrade to hang on Openshift, if one of the old conditions are set during the -upgrade process, because of the way the Operator Lifecycle Manager checks new -CRDs against existing CRs. - -To avoid this issue, you need to upgrade to version 1.15.5 first, and then you -can safely go to 1.16.x or 1.17.x. -1.15.5 will automatically remove the offending conditions from all the cluster -CRs which will unblock Openshift from upgrading. - -!!! Warning 1.15.x is now at End of Life - No future updates to this version are planned; please use 1.15.5 only temporarily, to - upgrade to 1.16.x or later, as described above. - ## Important OpenShift concepts To understand how the EDB Postgres for Kubernetes operator fits in an OpenShift environment, @@ -470,7 +453,7 @@ If you are currently in the `stable` channel, you need to either choose `fast` o progressively move to the latest Long Term Supported release of EDB Postgres for Kubernetes - currently `stable-v1.18`. -If you are in `stable` and your operator version is 1.15, please move to +If you are in `stable` and your operator version is 1.15 or older, please move to `stable-v1.15` and upgrade. Then repeat the operation with `stable-v1.16`, then `stable-v1.17` to finally reach `stable-v1.18` or `fast`. @@ -478,13 +461,23 @@ If you are in `stable` and your operator version is 1.16, please move to `stable-v1.16` and upgrade. Then repeat the operation with `stable-v1.17` to finally reach `stable-v1.18` or `fast`. -!!! Warning Both 1.15.x and 1.16.x are now End of Life - The last supported version of 1.15.x was released on October 22, 2022. - The last supported version of 1.16.x was released on December 21, 2022. +!!! Warning "1.15.x, 1.16.x, and 1.17.x are now End of Life" + The last supported version of 1.15.x was released in October 2022. + The last supported version of 1.16.x was released in December 2022. + The last supported version of 1.17.x was released in March 2023. No future updates to these version are planned. Please refer to the [EDB "Platform Compatibility" page](https://www.enterprisedb.com/resources/platform-compatibility) for more details. +!!! Important + We have made a change to the way conditions are represented in the status of + the operator in version 1.16.0, 1.15.2, and onward. This change could cause + an operator upgrade to hang on Openshift, if one of the old conditions are set + during the upgrade process, because of the way the Operator Lifecycle Manager + checks new CRDs against existing CRs. To avoid this issue, you need to upgrade + to version 1.15.5 first, which will automatically remove the offending + conditions from all the cluster CRs that prevent Openshift from upgrading. + ## Predefined RBAC objects EDB Postgres for Kubernetes comes with a predefined set of resources that play an @@ -818,6 +811,52 @@ rules: - '*' ``` +## Pod Security Standards + +EDB Postgres for Kubernetes on OpenShift supports the `restricted` and +`restricted-v2` SCC (`SecurityContextConstraints`), which vary depending on the +version of EDB Postgres for Kubernetes and OpenShift you are running. +Please pay close attention to the following table and notes: + +| EDB Postgres for Kubernetes Version | OpenShift Versions | Supported SCC | +| ----------------------------------- | ------------------ | ------------------------- | +| 1.19.x | 4.10-4.12 | restricted, restricted-v2 | +| 1.18.x | 4.10-4.12 | restricted, restricted-v2 | + +!!! Important + Since version 4.10 only provides `restricted`, EDB Postgres for Kubernetes + versions 1.18 and 1.19 support `restricted`. Future releases of EDB Postgres + for Kubernetes are not guaranteed to support `restricted`, since in Openshift + 4.11 `restricted` was replaced with `restricted-v2`. + +!!! Important "Security changes in OpenShift >=4.11" + With Kubernetes 1.21 the `PodSecurityPolicy` has been replaced by the Pod + Security Admission Controller to become the new default way to manage the + security inside Kubernetes. On Openshift 4.11, which is running Kubernetes + 1.21, there is also included a new set of SecurityContextConstraints (SCC) that + will be the default SCCs to manage workloads; these new SCC are + `restricted-v2`, `nonroot-v2` and `hostnetwork-v2`. For more information, + please read ["Important OpenShift changes to Pod Security Standards"](https://connect.redhat.com/en/blog/important-openshift-changes-pod-security-standards). + +Since the operator has been developed with a security focus from the beginning, +in addition to always adhering to the Red Hat Certification process, EDB +Postgres for Kubernetes works under the new SCCs introduced in OpenShift 4.11. + +By default, EDB Postgres for Kubernetes will drop all capabilities. This +ensures that during its lifecycle the operator will never make use of any +unsafe capabilities. + +On OpenShift we inherit the `SecurityContext.SeccompProfile` for each Pod from +the OpenShift deployment, which in turn is set by the Pod Security Admission +Controller. + +!!! Note + Even if `nonroot-v2` and `hostnetwork-v2` are qualified as less restricted + SCCs, we don't run tests on them, and therefore we cannot guarantee that these + SCCs will work. That being said, `nonroot-v2` and `hostnetwork-v2` are a subset + of rules in `restricted-v2` so there is no reason to believe that they would + not work. + ## Customization of the Pooler image By default, the `Pooler` resource creates pods having the `pgbouncer` container diff --git a/product_docs/docs/postgres_for_kubernetes/1/postgresql_conf.mdx b/product_docs/docs/postgres_for_kubernetes/1/postgresql_conf.mdx index d04598adc40..8730ab489ce 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/postgresql_conf.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/postgresql_conf.mdx @@ -442,7 +442,8 @@ max total shared memory (kbytes) = 18014398509481980 min seg size (bytes) = 1 ``` -As you can see, the very high number of `max total shared memory` recommends setting `dynamic_shared_memory_type` to `sysv`. +As you can see, the very high number of `max total shared memory` recommends +setting `dynamic_shared_memory_type` to `sysv`. An alternate method is to run: @@ -453,9 +454,11 @@ cat /proc/sys/kernel/shmmax ## Fixed parameters -Some PostgreSQL configuration parameters should be managed exclusively by the operator. The operator prevents the user from setting them using a webhook. +Some PostgreSQL configuration parameters should be managed exclusively by the +operator. The operator prevents the user from setting them using a webhook. -Users are not allowed to set the following configuration parameters in the `postgresql` section: +Users are not allowed to set the following configuration parameters in the +`postgresql` section: - `allow_system_table_mods` - `archive_cleanup_command` diff --git a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx index ff5da677090..30e4e4a222c 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx @@ -246,7 +246,7 @@ helm repo add prometheus-community \ https://prometheus-community.github.io/helm-charts helm upgrade --install \ - -f https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/kube-stack-config.yaml \ + -f https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/kube-stack-config.yaml \ prometheus-community \ prometheus-community/kube-prometheus-stack ``` @@ -330,7 +330,7 @@ You can now define some alerts by creating a `prometheusRule`: ```sh kubectl apply -f \ - https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/cnp-prometheusrule.yaml + https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/postgresql-operator-prometheusrule.yaml ``` You should see the default alerts now: @@ -361,7 +361,7 @@ We can now install our sample Grafana dashboard: ```sh kubectl apply -f \ - https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/grafana-configmap.yaml + https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/grafana-configmap.yaml ``` Which will be picked up by the Grafana page in a few seconds. You should now diff --git a/product_docs/docs/postgres_for_kubernetes/1/samples/cluster-example-external-backup-adapter-cluster.yaml b/product_docs/docs/postgres_for_kubernetes/1/samples/cluster-example-external-backup-adapter-cluster.yaml new file mode 100644 index 00000000000..eb7fc22e932 --- /dev/null +++ b/product_docs/docs/postgres_for_kubernetes/1/samples/cluster-example-external-backup-adapter-cluster.yaml @@ -0,0 +1,35 @@ +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example + annotations: + "k8s.enterprisedb.io/addons": '["external-backup-adapter-cluster"]' + "k8s.enterprisedb.io/externalBackupAdapterClusterConfig": |- + electedResourcesDecorators: + - key: "test/edb-elected" + metadataType: "label" + value: "true" + excludedResourcesDecorators: + - key: "test/ignore" + metadataType: "label" + value: "true" + backupInstanceDecorators: + - key: "test/hooks" + metadataType: "label" + value: "true" + preBackupHookConfiguration: + container: + key: "test/pre-backup-container" + command: + key: "test/pre-backup-command" + onError: + key: "test/pre-backup-on-error" + postBackupHookConfiguration: + container: + key: "test/post-backup-container" + command: + key: "test/post-backup-command" +spec: + instances: 3 + storage: + size: 1Gi diff --git a/product_docs/docs/postgres_for_kubernetes/1/security.mdx b/product_docs/docs/postgres_for_kubernetes/1/security.mdx index a28dc3f0438..1f6949c01bc 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/security.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/security.mdx @@ -144,6 +144,77 @@ namespaced resources. To see all the permissions required by the operator, you can run `kubectl describe clusterrole postgresql-operator-manager`. +### Calls to the API server made by the instance manager + +The instance manager, which is the entry point of the operand container, needs +to make some calls to the Kubernetes API server to ensure that the status of +some resources is correctly updated and to access the config maps and secrets +that are associated with that Postgres cluster. Such calls are performed through +a dedicated `ServiceAccount` created by the operator that shares the same +PostgreSQL `Cluster` resource name. + +!!! Important + The operand can only access a specific and limited subset of resources + through the API server. A service account is the + [recommended way to access the API server from within a Pod](https://kubernetes.io/docs/tasks/run-application/access-api-from-pod/). + +For transparency, the permissions associated with the service account are defined in the +[roles.go](https://github.com/EnterpriseDB/cloud-native-postgres/blob/main/pkg/specs/roles.go) +file. For example, to retrieve the permissions of a generic `mypg` cluster in the +`myns` namespace, you can type the following command: + +```bash +kubectl get role -n myns mypg -o yaml +``` + +Then verify that the role is bound to the service account: + +```bash +kubectl get rolebinding -n myns mypg -o yaml +``` + +!!! Important + Remember that **roles are limited to a given namespace**. + +Below we provide a quick summary of the permissions associated with the service +account for generic Kubernetes resources. + +`configmaps` +: The instance manager can only read config maps that are related to the same + cluster, such as custom monitoring queries + +`secrets` +: The instance manager can only read secrets that are related to the same + cluster, namely: streaming replication user, application user, super user, + LDAP authentication user, client CA, server CA, server certificate, backup + credentials, custom monitoring queries + +`events` +: The instance manager can create an event for the cluster, informing the + API server about a particular aspect of the PostgreSQL instance lifecycle + +Here instead, we provide the same summary for resources specific to +EDB Postgres for Kubernetes. + +`clusters` +: The instance manager requires read-only permissions, namely `get`, `list` and + `watch`, just for its own `Cluster` resource + +`clusters/status` +: The instance manager requires to `update` and `patch` the status of just its + own `Cluster` resource + +`backups` +: The instance manager requires `get` and `list` permissions to read any + `Backup` resource in the namespace. Additionally, it requires the `delete` + permission to clean up the Kubernetes cluster by removing the `Backup` objects + that do not have a counterpart in the object store - typically because of + retention policies + +`backups/status` +: The instance manager requires to `update` and `patch` the status of any + `Backup` resource in the namespace + ### Pod Security Policies A [Pod Security Policy](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) From 51d0a2efb04529df985f1c1e6f6316489d8d258b Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Mon, 13 Mar 2023 09:28:59 -0400 Subject: [PATCH 4/7] JDBC: new 42.5.4.1 release Update _redirects --- .../08_jdbc_42.3.3.1_rel_notes.mdx | 0 .../09_jdbc_42.3.2.1_rel_notes.mdx | 0 .../10_jdbc_42.2.24.1_rel_notes.mdx | 0 .../12_jdbc_42.2.19.1_rel_notes.mdx | 0 .../14_jdbc_42.2.12.3_rel_notes.mdx | 0 .../16_jdbc_42.2.9.1_rel_notes.mdx | 0 .../18_jdbc_42.2.8.1_rel_notes.mdx | 0 .../01_jdbc_rel_notes/index.mdx | 2 ++ .../jdbc_42.5.0.1_rel_notes.mdx | 0 .../jdbc_42.5.1.1_rel_notes.mdx | 0 .../jdbc_42.5.1.2_rel_notes.mdx | 0 .../jdbc_42.5.4.1_rel_notes.mdx | 23 +++++++++++++++++++ .../02_requirements_overview.mdx | 1 + ...dvanced_server_jdbc_connector_overview.mdx | 0 ...ing_the_advanced_server_jdbc_connector.mdx | 0 .../01_additional_connection_properties.mdx | 0 ...synchronous_secondary_database_servers.mdx | 0 .../02_connecting_to_the_database/index.mdx | 0 ...l_statements_through_statement_objects.mdx | 0 ...ieving_results_from_a_resultset_object.mdx | 0 .../05_freeing_resources.mdx | 0 .../06_handling_errors.mdx | 0 .../index.mdx | 0 .../05a_using_advanced_queueing.mdx | 0 ...ting_sql_commands_with_executeUpdate().mdx | 0 ..._graphical_interface_to_a_java_program.mdx | 0 ...cing_client-side_resource_requirements.mdx | 0 ...reparedstatements_to_send_sql_commands.mdx | 0 .../03_executing_stored_procedures.mdx | 0 .../04_using_ref_cursors_with_java.mdx | 0 .../05_using_bytea_data_with_java.mdx | 0 ...object_types_and_collections_with_java.mdx | 0 ...ification_handling_with_noticelistener.mdx | 0 .../index.mdx | 0 .../01_configuring_the_server.mdx | 0 .../02_configuring_the_client.mdx | 0 .../03_testing_the_ssl_jdbc_connection.mdx | 0 ...cate_authentication_without_a_password.mdx | 0 .../01_using_ssl/index.mdx | 0 .../02_scram_compatibility.mdx | 0 ...upport_for_gssapi_encrypted_connection.mdx | 0 .../09_security_and_encryption/index.mdx | 0 ...advanced_server_jdbc_connector_logging.mdx | 0 .../11_reference_jdbc_data_types.mdx | 0 .../images/core_classes_and_interfaces.png | 0 .../images/drivermanager_drivers.png | 0 .../images/jdbc_class_relationships.png | 0 .../images/jdbc_installation_complete.png | 0 .../images/jdbc_installation_dialog.png | 0 .../images/jdbc_installation_wizard.png | 0 .../images/ready_to_install.png | 0 .../selecting_the_connectors_installer.png | 0 .../images/starting_stackbuilder_plus.png | 0 .../images/the_showemployees_window.png | 0 .../{42.5.1.2 => 42.5.4.1}/index.mdx | 0 .../installing/configuring_for_java.mdx | 0 .../installing/index.mdx | 0 .../installing/linux_ppc64le/index.mdx | 0 .../installing/linux_ppc64le/jdbc_rhel_8.mdx | 0 .../installing/linux_ppc64le/jdbc_sles_12.mdx | 0 .../installing/linux_ppc64le/jdbc_sles_15.mdx | 0 .../installing/linux_x86_64/index.mdx | 0 .../installing/linux_x86_64/jdbc_centos_7.mdx | 0 .../linux_x86_64/jdbc_debian_10.mdx | 0 .../linux_x86_64/jdbc_debian_11.mdx | 0 .../linux_x86_64/jdbc_other_linux_8.mdx | 0 .../installing/linux_x86_64/jdbc_rhel_7.mdx | 0 .../installing/linux_x86_64/jdbc_rhel_8.mdx | 0 .../installing/linux_x86_64/jdbc_sles_12.mdx | 0 .../installing/linux_x86_64/jdbc_sles_15.mdx | 0 .../linux_x86_64/jdbc_ubuntu_18.mdx | 0 .../linux_x86_64/jdbc_ubuntu_20.mdx | 0 .../installing/upgrading.mdx | 0 .../installing/windows.mdx | 0 static/_redirects | 1 + 75 files changed, 27 insertions(+) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/08_jdbc_42.3.3.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/09_jdbc_42.3.2.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/10_jdbc_42.2.24.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/12_jdbc_42.2.19.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/14_jdbc_42.2.12.3_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/16_jdbc_42.2.9.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/18_jdbc_42.2.8.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/index.mdx (92%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes.mdx (100%) create mode 100644 product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.4.1_rel_notes.mdx rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/02_requirements_overview.mdx (95%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/03_advanced_server_jdbc_connector_overview.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/01_loading_the_advanced_server_jdbc_connector.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/01_additional_connection_properties.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/02_preferring_synchronous_secondary_database_servers.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/03_executing_sql_statements_through_statement_objects.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/04_retrieving_results_from_a_resultset_object.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/05_freeing_resources.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/06_handling_errors.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05_using_the_advanced_server_jdbc_connector_with_java_applications/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/05a_using_advanced_queueing.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/06_executing_sql_commands_with_executeUpdate().mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/07_adding_a_graphical_interface_to_a_java_program.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/01_reducing_client-side_resource_requirements.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/02_using_preparedstatements_to_send_sql_commands.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/03_executing_stored_procedures.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/04_using_ref_cursors_with_java.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/05_using_bytea_data_with_java.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/06_using_object_types_and_collections_with_java.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/07_asynchronous_notification_handling_with_noticelistener.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/08_advanced_jdbc_connector_functionality/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/01_using_ssl/01_configuring_the_server.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/01_using_ssl/02_configuring_the_client.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/01_using_ssl/03_testing_the_ssl_jdbc_connection.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/01_using_ssl/04_using_certificate_authentication_without_a_password.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/01_using_ssl/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/02_scram_compatibility.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/03_support_for_gssapi_encrypted_connection.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/09_security_and_encryption/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/10_advanced_server_jdbc_connector_logging.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/11_reference_jdbc_data_types.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/core_classes_and_interfaces.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/drivermanager_drivers.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/jdbc_class_relationships.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/jdbc_installation_complete.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/jdbc_installation_dialog.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/jdbc_installation_wizard.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/ready_to_install.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/selecting_the_connectors_installer.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/starting_stackbuilder_plus.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/images/the_showemployees_window.png (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/configuring_for_java.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_ppc64le/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_ppc64le/jdbc_rhel_8.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_ppc64le/jdbc_sles_12.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_ppc64le/jdbc_sles_15.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/index.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_centos_7.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_debian_10.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_debian_11.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_other_linux_8.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_rhel_7.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_rhel_8.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_sles_12.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_sles_15.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_ubuntu_18.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/linux_x86_64/jdbc_ubuntu_20.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/upgrading.mdx (100%) rename product_docs/docs/jdbc_connector/{42.5.1.2 => 42.5.4.1}/installing/windows.mdx (100%) diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/08_jdbc_42.3.3.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/08_jdbc_42.3.3.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/08_jdbc_42.3.3.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/08_jdbc_42.3.3.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/09_jdbc_42.3.2.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/09_jdbc_42.3.2.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/09_jdbc_42.3.2.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/09_jdbc_42.3.2.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/10_jdbc_42.2.24.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/10_jdbc_42.2.24.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/10_jdbc_42.2.24.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/10_jdbc_42.2.24.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/12_jdbc_42.2.19.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/12_jdbc_42.2.19.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/12_jdbc_42.2.19.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/12_jdbc_42.2.19.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/14_jdbc_42.2.12.3_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/14_jdbc_42.2.12.3_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/14_jdbc_42.2.12.3_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/14_jdbc_42.2.12.3_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/16_jdbc_42.2.9.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/16_jdbc_42.2.9.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/16_jdbc_42.2.9.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/16_jdbc_42.2.9.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/18_jdbc_42.2.8.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/18_jdbc_42.2.8.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/18_jdbc_42.2.8.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/18_jdbc_42.2.8.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx similarity index 92% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx index ac6e43b3218..3f2069f1b3a 100644 --- a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/index.mdx +++ b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx @@ -1,6 +1,7 @@ --- title: "Release notes" navigation: +- jdbc_42.5.4.1_rel_notes - jdbc_42.5.1.2_rel_notes - jdbc_42.5.1.1_rel_notes - jdbc_42.5.0.1_rel_notes @@ -12,6 +13,7 @@ These release notes describe what's new in each release. When a minor or patch r | Version | Release Date | | ---------------------------------------- | ------------ | +| [42.5.4.1](jdbc_42.5.4.1_rel_notes) | 2023 Mar 15 | | [42.5.1.2](jdbc_42.5.1.2_rel_notes) | 2023 Feb 14 | | [42.5.1.1](jdbc_42.5.1.1_rel_notes) | 2022 Dec 9 | | [42.5.0.1](jdbc_42.5.0.1_rel_notes) | 2022 Sep 1 | diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.4.1_rel_notes.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.4.1_rel_notes.mdx new file mode 100644 index 00000000000..b133e234bad --- /dev/null +++ b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/jdbc_42.5.4.1_rel_notes.mdx @@ -0,0 +1,23 @@ +--- +title: "Version 42.5.4.1" + +--- + +The EDB JDBC connector provides connectivity between a Java application and an EDB Postgres Advanced Server database. + +New features, enhancements, bug fixes, and other changes in the EDB JDBC Connector 42.5.4.1 include: + +| Type | Description | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Upstream Merge | Merged with the upstream community driver version 42.5.4. See the community [JDBC documentation](https://jdbc.postgresql.org/changelogs/2023-02-16-42.5.4-release/) for details. | +| Bug fix | Fixed an issue in which there was missing information in the MANIFEST.MF file. [Support Ticket #89609] | + + + + + + + + + + diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/02_requirements_overview.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/02_requirements_overview.mdx similarity index 95% rename from product_docs/docs/jdbc_connector/42.5.1.2/02_requirements_overview.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/02_requirements_overview.mdx index e58f48b6eaf..70e6e1b3ce1 100644 --- a/product_docs/docs/jdbc_connector/42.5.1.2/02_requirements_overview.mdx +++ b/product_docs/docs/jdbc_connector/42.5.4.1/02_requirements_overview.mdx @@ -15,6 +15,7 @@ This table lists the latest JDBC Connector versions and their supported correspo | JDBC Connector | EPAS 15 | EPAS 14 | EPAS 13 | EPAS 12 | EPAS 11 | | ---------------------------------------------------------- | ------- | ------- | ------- | ------- | ------- | +| [42.5.4.1](01_jdbc_rel_notes/jdbc_42.5.4.1_rel_notes) | Y | Y | Y | Y | Y | | [42.5.1.2](01_jdbc_rel_notes/jdbc_42.5.1.2_rel_notes) | Y | Y | Y | Y | Y | | [42.5.1.1](01_jdbc_rel_notes/jdbc_42.5.1.1_rel_notes) | N | Y | Y | Y | Y | | [42.5.0.1](01_jdbc_rel_notes/jdbc_42.5.0.1_rel_notes) | N | Y | Y | Y | Y | diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/03_advanced_server_jdbc_connector_overview.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/03_advanced_server_jdbc_connector_overview.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/03_advanced_server_jdbc_connector_overview.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/03_advanced_server_jdbc_connector_overview.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/01_loading_the_advanced_server_jdbc_connector.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/01_loading_the_advanced_server_jdbc_connector.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/01_loading_the_advanced_server_jdbc_connector.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/01_loading_the_advanced_server_jdbc_connector.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/01_additional_connection_properties.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/01_additional_connection_properties.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/01_additional_connection_properties.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/01_additional_connection_properties.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/02_preferring_synchronous_secondary_database_servers.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/02_preferring_synchronous_secondary_database_servers.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/02_preferring_synchronous_secondary_database_servers.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/02_preferring_synchronous_secondary_database_servers.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/02_connecting_to_the_database/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/03_executing_sql_statements_through_statement_objects.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/03_executing_sql_statements_through_statement_objects.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/03_executing_sql_statements_through_statement_objects.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/03_executing_sql_statements_through_statement_objects.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/04_retrieving_results_from_a_resultset_object.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/04_retrieving_results_from_a_resultset_object.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/04_retrieving_results_from_a_resultset_object.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/04_retrieving_results_from_a_resultset_object.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/05_freeing_resources.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/05_freeing_resources.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/05_freeing_resources.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/05_freeing_resources.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/06_handling_errors.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/06_handling_errors.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/06_handling_errors.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/06_handling_errors.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05_using_the_advanced_server_jdbc_connector_with_java_applications/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05_using_the_advanced_server_jdbc_connector_with_java_applications/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/05a_using_advanced_queueing.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/05a_using_advanced_queueing.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/05a_using_advanced_queueing.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/05a_using_advanced_queueing.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/06_executing_sql_commands_with_executeUpdate().mdx b/product_docs/docs/jdbc_connector/42.5.4.1/06_executing_sql_commands_with_executeUpdate().mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/06_executing_sql_commands_with_executeUpdate().mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/06_executing_sql_commands_with_executeUpdate().mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/07_adding_a_graphical_interface_to_a_java_program.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/07_adding_a_graphical_interface_to_a_java_program.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/07_adding_a_graphical_interface_to_a_java_program.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/07_adding_a_graphical_interface_to_a_java_program.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/01_reducing_client-side_resource_requirements.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/01_reducing_client-side_resource_requirements.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/01_reducing_client-side_resource_requirements.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/01_reducing_client-side_resource_requirements.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/02_using_preparedstatements_to_send_sql_commands.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/02_using_preparedstatements_to_send_sql_commands.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/02_using_preparedstatements_to_send_sql_commands.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/02_using_preparedstatements_to_send_sql_commands.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/03_executing_stored_procedures.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/03_executing_stored_procedures.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/03_executing_stored_procedures.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/03_executing_stored_procedures.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/04_using_ref_cursors_with_java.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/04_using_ref_cursors_with_java.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/04_using_ref_cursors_with_java.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/04_using_ref_cursors_with_java.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/05_using_bytea_data_with_java.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/05_using_bytea_data_with_java.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/05_using_bytea_data_with_java.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/05_using_bytea_data_with_java.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/06_using_object_types_and_collections_with_java.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/06_using_object_types_and_collections_with_java.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/06_using_object_types_and_collections_with_java.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/06_using_object_types_and_collections_with_java.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/07_asynchronous_notification_handling_with_noticelistener.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/07_asynchronous_notification_handling_with_noticelistener.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/07_asynchronous_notification_handling_with_noticelistener.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/07_asynchronous_notification_handling_with_noticelistener.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/08_advanced_jdbc_connector_functionality/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/08_advanced_jdbc_connector_functionality/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/01_configuring_the_server.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/01_configuring_the_server.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/01_configuring_the_server.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/01_configuring_the_server.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/02_configuring_the_client.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/02_configuring_the_client.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/02_configuring_the_client.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/02_configuring_the_client.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/03_testing_the_ssl_jdbc_connection.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/03_testing_the_ssl_jdbc_connection.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/03_testing_the_ssl_jdbc_connection.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/03_testing_the_ssl_jdbc_connection.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/04_using_certificate_authentication_without_a_password.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/04_using_certificate_authentication_without_a_password.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/04_using_certificate_authentication_without_a_password.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/04_using_certificate_authentication_without_a_password.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/01_using_ssl/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/01_using_ssl/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/02_scram_compatibility.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/02_scram_compatibility.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/02_scram_compatibility.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/02_scram_compatibility.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/03_support_for_gssapi_encrypted_connection.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/03_support_for_gssapi_encrypted_connection.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/03_support_for_gssapi_encrypted_connection.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/03_support_for_gssapi_encrypted_connection.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/09_security_and_encryption/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/09_security_and_encryption/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/10_advanced_server_jdbc_connector_logging.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/10_advanced_server_jdbc_connector_logging.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/10_advanced_server_jdbc_connector_logging.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/10_advanced_server_jdbc_connector_logging.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/11_reference_jdbc_data_types.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/11_reference_jdbc_data_types.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/11_reference_jdbc_data_types.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/11_reference_jdbc_data_types.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/core_classes_and_interfaces.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/core_classes_and_interfaces.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/core_classes_and_interfaces.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/core_classes_and_interfaces.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/drivermanager_drivers.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/drivermanager_drivers.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/drivermanager_drivers.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/drivermanager_drivers.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_class_relationships.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_class_relationships.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_class_relationships.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_class_relationships.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_complete.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_complete.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_complete.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_complete.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_dialog.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_dialog.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_dialog.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_dialog.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_wizard.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_wizard.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/jdbc_installation_wizard.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/jdbc_installation_wizard.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/ready_to_install.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/ready_to_install.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/ready_to_install.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/ready_to_install.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/selecting_the_connectors_installer.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/selecting_the_connectors_installer.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/selecting_the_connectors_installer.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/selecting_the_connectors_installer.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/starting_stackbuilder_plus.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/starting_stackbuilder_plus.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/starting_stackbuilder_plus.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/starting_stackbuilder_plus.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/images/the_showemployees_window.png b/product_docs/docs/jdbc_connector/42.5.4.1/images/the_showemployees_window.png similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/images/the_showemployees_window.png rename to product_docs/docs/jdbc_connector/42.5.4.1/images/the_showemployees_window.png diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/configuring_for_java.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/configuring_for_java.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/configuring_for_java.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/configuring_for_java.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_rhel_8.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_rhel_8.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_rhel_8.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_rhel_8.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_sles_12.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_sles_12.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_sles_12.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_sles_12.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_sles_15.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_sles_15.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_ppc64le/jdbc_sles_15.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_ppc64le/jdbc_sles_15.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/index.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/index.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/index.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_centos_7.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_centos_7.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_centos_7.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_centos_7.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_debian_10.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_debian_10.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_debian_10.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_debian_10.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_debian_11.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_debian_11.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_debian_11.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_debian_11.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_other_linux_8.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_other_linux_8.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_other_linux_8.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_other_linux_8.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_rhel_7.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_rhel_7.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_rhel_7.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_rhel_7.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_rhel_8.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_rhel_8.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_rhel_8.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_rhel_8.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_sles_12.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_sles_12.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_sles_12.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_sles_12.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_sles_15.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_sles_15.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_sles_15.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_sles_15.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_ubuntu_18.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_ubuntu_18.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_ubuntu_18.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_ubuntu_18.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_ubuntu_20.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_ubuntu_20.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/linux_x86_64/jdbc_ubuntu_20.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/linux_x86_64/jdbc_ubuntu_20.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/upgrading.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/upgrading.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/upgrading.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/upgrading.mdx diff --git a/product_docs/docs/jdbc_connector/42.5.1.2/installing/windows.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/installing/windows.mdx similarity index 100% rename from product_docs/docs/jdbc_connector/42.5.1.2/installing/windows.mdx rename to product_docs/docs/jdbc_connector/42.5.4.1/installing/windows.mdx diff --git a/static/_redirects b/static/_redirects index 098f6516507..ded834f1808 100644 --- a/static/_redirects +++ b/static/_redirects @@ -161,6 +161,7 @@ /docs/jdbc_connector/42.3.3.1/* /docs/jdbc_connector/latest/ 301 /docs/jdbc_connector/42.5.0.1/* /docs/jdbc_connector/latest/ 301 /docs/jdbc_connector/42.5.1.1/* /docs/jdbc_connector/latest/:splat 301 +/docs/jdbc_connector/42.5.1.2/* /docs/jdbc_connector/latest/:splat 301 /docs/ocl_connector/13.1.4.1/* /docs/ocl_connector/latest/ 301 /docs/ocl_connector/14.1.0.1/* /docs/ocl_connector/latest/ 301 /docs/odbc_connector/12.0.0.1/* /docs/odbc_connector/latest/ 301 From fb76c797e6ae3e0bc7272fa535532939c751244b Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Mon, 20 Mar 2023 09:22:52 -0400 Subject: [PATCH 5/7] updated the date --- .../docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx index 3f2069f1b3a..020b7b15338 100644 --- a/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx +++ b/product_docs/docs/jdbc_connector/42.5.4.1/01_jdbc_rel_notes/index.mdx @@ -13,7 +13,7 @@ These release notes describe what's new in each release. When a minor or patch r | Version | Release Date | | ---------------------------------------- | ------------ | -| [42.5.4.1](jdbc_42.5.4.1_rel_notes) | 2023 Mar 15 | +| [42.5.4.1](jdbc_42.5.4.1_rel_notes) | 2023 Mar 16 | | [42.5.1.2](jdbc_42.5.1.2_rel_notes) | 2023 Feb 14 | | [42.5.1.1](jdbc_42.5.1.1_rel_notes) | 2022 Dec 9 | | [42.5.0.1](jdbc_42.5.0.1_rel_notes) | 2022 Sep 1 | From 522b2f614b8ce456d5088c8aa1f6ed6c83e29e57 Mon Sep 17 00:00:00 2001 From: Josh Heyer Date: Mon, 20 Mar 2023 16:53:04 +0000 Subject: [PATCH 6/7] revert public->private path changes --- .../docs/postgres_for_kubernetes/1/installation_upgrade.mdx | 2 +- product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx | 4 ++-- product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx index 5c85607ddcc..c037c0bbe6b 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx @@ -53,7 +53,7 @@ for a more comprehensive example. ports, as explained in the official [docs](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules) and by this - [issue](https://github.com/EnterpriseDB/cloud-native-postgres/issues/1360). + [issue](https://github.com/cloudnative-pg/cloudnative-pg/issues/1360). You'll need to either change the `targetPort` in the webhook service, to be one of the allowed ones, or open the webhooks' port (`9443`) on the firewall. diff --git a/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx b/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx index e01cee5fb6a..4de22a85b04 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/monitoring.mdx @@ -382,7 +382,7 @@ data: ``` A list of basic monitoring queries can be found in the -[`default-monitoring.yaml` file](https://github.com/EnterpriseDB/cloud-native-postgres/blob/main/config/manager/default-monitoring.yaml) +[`default-monitoring.yaml` file](https://github.com/cloudnative-pg/cloudnative-pg/blob/main/config/manager/default-monitoring.yaml) that is already installed in your EDB Postgres for Kubernetes deployment (see ["Default set of metrics"](#default-set-of-metrics)). #### Example of a user defined metric running on multiple databases @@ -677,7 +677,7 @@ kubectl delete -f curl.yaml These resources are provided for illustration and experimentation, and do not represent any kind of recommendation for your production system -In the [`doc/src/samples/monitoring/`](https://github.com/EnterpriseDB/cloud-native-postgres/tree/main/docs/src/samples/monitoring) +In the [`samples/monitoring/`](https://github.com/EnterpriseDB/docs/tree/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring) directory you will find a series of sample files for observability. Please refer to [Part 4 of the quickstart](quickstart.md#part-4-monitor-clusters-with-prometheus-and-grafana) section for context: diff --git a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx index 30e4e4a222c..ff5da677090 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx @@ -246,7 +246,7 @@ helm repo add prometheus-community \ https://prometheus-community.github.io/helm-charts helm upgrade --install \ - -f https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/kube-stack-config.yaml \ + -f https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/kube-stack-config.yaml \ prometheus-community \ prometheus-community/kube-prometheus-stack ``` @@ -330,7 +330,7 @@ You can now define some alerts by creating a `prometheusRule`: ```sh kubectl apply -f \ - https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/postgresql-operator-prometheusrule.yaml + https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/cnp-prometheusrule.yaml ``` You should see the default alerts now: @@ -361,7 +361,7 @@ We can now install our sample Grafana dashboard: ```sh kubectl apply -f \ - https://raw.githubusercontent.com/EnterpriseDB/cloud-native-postgres/main/docs/src/samples/monitoring/grafana-configmap.yaml + https://raw.githubusercontent.com/EnterpriseDB/docs/main/product_docs/docs/postgres_for_kubernetes/1/samples/monitoring/grafana-configmap.yaml ``` Which will be picked up by the Grafana page in a few seconds. You should now From 076838f4a034643f3eedeb9f56dd2603a8f04958 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Mon, 20 Mar 2023 13:31:08 -0400 Subject: [PATCH 7/7] added release notes --- .../1/rel_notes/1_17_5_rel_notes.mdx | 10 ++++++++++ .../1/rel_notes/1_18_3_rel_notes.mdx | 10 ++++++++++ .../1/rel_notes/1_19_1_rel_notes.mdx | 10 ++++++++++ .../docs/postgres_for_kubernetes/1/rel_notes/index.mdx | 7 +++++++ 4 files changed, 37 insertions(+) create mode 100644 product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_17_5_rel_notes.mdx create mode 100644 product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_18_3_rel_notes.mdx create mode 100644 product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_19_1_rel_notes.mdx diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_17_5_rel_notes.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_17_5_rel_notes.mdx new file mode 100644 index 00000000000..a3356d7d0b0 --- /dev/null +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_17_5_rel_notes.mdx @@ -0,0 +1,10 @@ +--- +title: "EDB Postgres for Kubernetes 1.17.5 release notes" +navTitle: "Version 1.17.5" +--- + +This release of EDB Postgres for Kubernetes includes the following: + +| Type | Description | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Upstream merge | Merged with community CloudNativePG 1.17.5. See the community [Release Notes](https://cloudnative-pg.io/documentation/1.17/release_notes/v1.17/). | diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_18_3_rel_notes.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_18_3_rel_notes.mdx new file mode 100644 index 00000000000..8f40da9b6f1 --- /dev/null +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_18_3_rel_notes.mdx @@ -0,0 +1,10 @@ +--- +title: "EDB Postgres for Kubernetes 1.18.3 release notes" +navTitle: "Version 1.18.3" +--- + +This release of EDB Postgres for Kubernetes includes the following: + +| Type | Description | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Upstream merge | Merged with community CloudNativePG 1.18.3. See the community [Release Notes](https://cloudnative-pg.io/documentation/1.18/release_notes/v1.18/). | diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_19_1_rel_notes.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_19_1_rel_notes.mdx new file mode 100644 index 00000000000..ebaee203c3c --- /dev/null +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_19_1_rel_notes.mdx @@ -0,0 +1,10 @@ +--- +title: "EDB Postgres for Kubernetes 1.19.1 release notes" +navTitle: "Version 1.19.1" +--- + +This release of EDB Postgres for Kubernetes includes the following: + +| Type | Description | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Upstream merge | Merged with community CloudNativePG 1.19.1. See the community [Release Notes](https://cloudnative-pg.io/documentation/1.19/release_notes/v1.19/). | diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx index 835d0d10f80..f0e3165a444 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx @@ -4,12 +4,16 @@ navTitle: "Release notes" redirects: - ../release_notes navigation: +- 1_19_1_rel_notes - 1_19_0_rel_notes +- 1_18_3_rel_notes - 1_18_2_rel_notes - 1_18_1_rel_notes - 1_18_0_rel_notes +- 1_17_5_rel_notes - 1_17_4_rel_notes - 1_17_3_rel_notes +- 1_17_2_rel_notes - 1_17_1_rel_notes - 1_17_rel_notes - 1_16_5_rel_notes @@ -50,10 +54,13 @@ The EDB Postgres for Kubernetes documentation describes the major version of EDB | Version | Release date | Upstream merges | | -------------------------- | ------------ | ------------------------------------------------------------------------------------------- | +| [1.19.1](1_19_1_rel_notes) | 2023 Mar 20 | Upstream [1.19.1](https://cloudnative-pg.io/documentation/1.19/release_notes/v1.19/) | | [1.19.0](1_19_0_rel_notes) | 2023 Feb 14 | Upstream [1.19.0](https://cloudnative-pg.io/documentation/1.19/release_notes/v1.19/) | +| [1.18.3](1_18_3_rel_notes) | 2023 Mar 20 | Upstream [1.18.3](https://cloudnative-pg.io/documentation/1.18/release_notes/v1.18/) | | [1.18.2](1_18_2_rel_notes) | 2023 Feb 14 | Upstream [1.18.2](https://cloudnative-pg.io/documentation/1.18/release_notes/v1.18/) | | [1.18.1](1_18_1_rel_notes) | 2022 Dec 21 | Upstream [1.18.1](https://cloudnative-pg.io/documentation/1.18/release_notes/v1.18/) | | [1.18.0](1_18_0_rel_notes) | 2022 Nov 14 | Upstream [1.18.0](https://cloudnative-pg.io/documentation/1.18/release_notes/v1.18/) | +| [1.17.5](1_17_5_rel_notes) | 2023 Mar 20 | Upstream [1.17.5](https://cloudnative-pg.io/documentation/1.17/release_notes/v1.17/) | | [1.17.4](1_17_4_rel_notes) | 2023 Feb 14 | Upstream [1.17.4](https://cloudnative-pg.io/documentation/1.17/release_notes/v1.17/) | | [1.17.3](1_17_3_rel_notes) | 2022 Dec 21 | Upstream [1.17.3](https://cloudnative-pg.io/documentation/1.17/release_notes/v1.17/) | | [1.17.2](1_17_2_rel_notes) | 2022 Nov 14 | Upstream [1.17.2](https://cloudnative-pg.io/documentation/1.17/release_notes/v1.17/) |