Actualización a una nueva versión principal
Cuando una versión principal de una base de datos esté en su final de vida (EOL), es una buena idea actualizar a una versión principal actual.
Busque las versiones disponibles de Databases for PostgreSQL en la página Catálogo deIBM Cloud, desde el mandato de plugin de CLI Cloud Databases ibmcloud cdb deployables-show
, o desde el punto final Cloud Databases API /deployables
.
Al actualizar a una nueva instancia, también debe cambiar la información de conexión en la aplicación.
Requisitos para actualizar a la nueva versión principal PostgreSQL desde PostgreSQL v12
Si tiene pg_repack
instalado, debe eliminarlo antes de realizar la actualización. Esto se puede hacer con un mandato como:
DROP EXTENSION pg_repack;
Después de actualizar, vuelva a instalar pg_repack
. Esto se puede realizar con el mandato siguiente:
CREATE EXTENSION pg_repack;
Si está utilizando PostGIS,, primero debe actualizar a PostGIS antes de actualizar a PostgresSQL. Para ello, ejecute el siguiente comando en una base de datos que tenga instalado PostGIS.
SELECT postgis_extensions_upgrade();
Utilice la siguiente consulta para validar la actualización de la extensión Postgis.
SELECT postgis_full_version();
Actualización a partir de una réplica de solo lectura
Actualice configurando una réplica de sólo lectura. Aprovisione una réplica de sólo lectura con la misma versión de base de datos que su implantación
y espere a que replique todos sus datos. Cuando la implantación y su réplica estén sincronizadas, promocione y actualice la réplica de sólo lectura a una implantación completa e independiente que ejecute la nueva versión de la base de datos.
Para realizar el paso de actualización y promoción, utilice una solicitud POST al punto final /deployments/{id}/remotes/promotion
con la
versión a la que desea actualizar en el cuerpo de la solicitud.
Esta solicitud tiene el aspecto siguiente:
curl -X POST \
https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"promotion": {
"version": "14",
"skip_initial_backup": false
}
}' \
skip_initial_backup
es opcional. Si se establece en true
, el nuevo despliegue no realizará una copia de seguridad inicial cuando se completa la promoción. El nuevo despliegue está disponible en menos tiempo, a expensas
de que no se realice una copia de seguridad hasta que se ejecute la siguiente copia de seguridad automática o que realice una copia de seguridad bajo demanda.
Simulacro de la promoción y actualización
Para evaluar los efectos de las actualizaciones de versiones importantes, active un simulacro. Una ejecución en seco simula la promoción y la actualización, con los resultados impresos en los registros de base de datos. Acceda y visualice los registros de su base de datos a través de la integración de análisis de registros. Esto garantiza que la versión que está ejecutando actualmente con sus extensiones pueda actualizarse correctamente a la versión prevista.
El simulacro debe ejecutarse con skip_initial_backup
establecido en false
y con version
definido.
El mandato tiene el siguiente aspecto:
curl -X POST \
https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"promotion": {
"version": "14",
"skip_initial_backup": false,
"dry_run": true
}
}' \
Actualización de copias de seguridad y restauración
Puede actualizar la versión de la base de datos restaurando una copia de seguridad de los datos en un nuevo despliegue que ejecute la nueva versión de la base de datos.
Actualización en la IU
Actualice a una nueva versión al restaurar una copia de seguridad desde el menú Copias de seguridad del Panel de control de despliegue. Haga clic en Restaurar en una copia de seguridad para acceder a la página de aprovisionamiento en una nueva pestaña, donde podrá cambiar algunas opciones para la nueva implantación. Una de las opciones es la versión de la base de datos, que se rellena automáticamente con las versiones disponibles a las que se puede actualizar. Seleccione una versión y haga clic en Crear para iniciar el proceso de aprovisionamiento y restauración.
Actualización a través de la CLI
Para actualizar y restaurar desde una copia de seguridad a través de la CLI de IBM Cloud, utilice el comando de aprovisionamiento desde el controlador de recursos.
ibmcloud resource service-instance-create <DEPLOYMENT_NAME_OR_CRN> <SERVICE_ID> <SERVICE_PLAN_ID> <REGION>
Los parámetros service-name
, service-id
, service-plan-id
y region
son todos obligatorios. También debe indicar -p
con los parámetros de versión y de ID de copia de seguridad
en un objeto JSON. El nuevo despliegue se dimensiona automáticamente con el mismo disco y memoria que el despliegue de origen en el momento de la copia de seguridad.
Este mandato tiene el aspecto siguiente:
ibmcloud resource service-instance-create example-upgrade databases-for-postgresql standard us-south \
-p \ '{
"backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"version":14
}'
Actualización a través de la API
Complete los pasos necesarios para utilizar la API del controlador de recursos antes de utilizarla para actualizar
desde una copia de seguridad. A continuación, envíe a la API una solicitud a POST
. Los parámetros name
, target
, resource_group
y resource_plan_id
son obligatorios. También
debe indicar la versión y el ID de copia de seguridad. El nuevo despliegue tiene la misma asignación de memoria y de disco que el despliegue de origen en el momento de la copia de seguridad.
Este mandato tiene el aspecto siguiente:
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "bluemix-us-south",
"resource_group": "5g9f447903254bb58972a2f3f5a4c711",
"resource_plan_id": "databases-for-postgresql-standard",
"backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"version":14
}'
Actualización forzada
Tras la fecha de fin de vida útil, todas las implantaciones activas de Databases for PostgreSQL en la versión obsoleta se actualizarán forzosamente a la siguiente versión compatible. Por ejemplo, PostgreSQL Versión 12 (obsoleta) se actualiza a la Versión 13.
Actualice antes de la fecha de fin de vida útil para evitar los siguientes riesgos:
- Para este tipo de actualización forzosa no se ofrecen acuerdos de nivel de servicio.
- Es posible que experimente alguna pérdida de datos.
- Su aplicación puede experimentar un tiempo de inactividad prolongado.
- Su aplicación puede dejar de funcionar si es incompatible con la nueva versión.
- No puede controlar el momento en que se producirá esta actualización para su implantación.
- No hay proceso de reversión para esta actualización forzada.
Para conocer las fechas de fin de vida útil, consulte la página de política de versiones.