Existen dos maneras de actualizar la versión principal de la base de datos de tu instancia de Cloud SQL para PostgreSQL mediante la migración de los datos.
Opción 1. Usa Database Migration Service (DMS).
DMS admite la migración desde una instancia de Cloud SQL para PostgreSQL. También puedes usarla para actualizar la versión de tu base de datos.
Opción 2. Mueve tus datos de una versión de PostgreSQL a otra. Para esto, exporta datos desde la instancia actual e impórtalos a una instancia nueva que ejecute la versión más reciente de PostgreSQL. Este proceso implica un tiempo de inactividad. Debes establecer la instancia actual en modo de solo lectura antes de comenzar la exportación.
En el resto de esta página, se analiza la segunda opción.
Planifica una actualización de la versión principal
Considera las características que se ofrecen en cada versión de PostgreSQL y aborda las incompatibilidades.
Las nuevas versiones principales agregan cambios incompatibles que pueden requerir que modifiques el código de la aplicación, el esquema o la configuración de la base de datos antes de que puedas actualizar la instancia de base de datos. Revisa las notas de la versión principal de destino para determinar las incompatibilidades que debes abordar. Si omites versiones principales, aborda las incompatibilidades enumeradas para cada versión que omites.
Prueba la actualización con una ejecución de prueba.
Realiza una ejecución de prueba del proceso de actualización de extremo a extremo con una instancia de prueba antes de actualizar la base de datos de producción. Te recomendamos probar la actualización mediante un clon en lugar de tu base de datos de producción para evitar cualquier impacto en el rendimiento de la exportación en tu carga de trabajo de producción.
Además de validar que la actualización se complete con éxito, ejecuta pruebas para comprender el tiempo de inactividad esperado de la actualización, confirma el flujo de trabajo de actualización y asegúrate de que la aplicación se comporte como se espera en la base de datos actualizada. Si no habilitaste aumentos automáticos de almacenamiento, toma nota del almacenamiento en disco que usa la instancia de ejecución de prueba actualizada para determinar si necesitas aumentar la capacidad de almacenamiento de la instancia de producción antes de realizar la actualización.
No exportes la base de datos del sistema postgres. La base de datos postgres es la base de datos predeterminada a la que te conectas antes de crear cualquier otra base de datos. Una vez que hayas creado otra base de datos, úsala para crear tablas e insertar datos. No uses la base de datos postgrespostgres para los datos de tu aplicación.
Opcional. Después de completar el proceso de actualización, configura la replicación entre las instancias de origen y de destino mediante pglogical para actualizar el destino con todos los cambios que se produjeron desde que comenzó el volcado inicial. Una vez que las dos instancias estén sincronizadas, puedes promover la instancia de destino.
Para obtener información sobre el uso de pglogical para implementar la replicación continua, consulta Configura tu fuente.
Actualiza tus aplicaciones para conectarte a la instancia nueva.
Cuando estés seguro de que tu instancia nueva funciona de forma correcta, borra la instancia anterior.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["# Upgrade the database major version by migrating data\n\n\u003cbr /\u003e\n\n[MySQL](/sql/docs/mysql/upgrade-major-db-version-migrate \"View this page for the MySQL database engine\") \\| PostgreSQL \\| [SQL Server](/sql/docs/sqlserver/upgrade-major-db-version-migrate \"View this page for the SQL Server database engine\")\n\n\u003cbr /\u003e\n\nThis page describes how to migrate your data to an instance running a later\nversion of PostgreSQL. Before proceeding with this method, consider\n[upgrading the database major version in-place](/sql/docs/postgres/upgrade-major-db-version-inplace).\n\nThere are two ways to upgrade the database major version of your Cloud SQL\nfor PostgreSQL instance by migrating your data.\n\n- **Option 1** . Use the [Database Migration Service (DMS)](/database-migration/docs/postgres/configure-source-database). DMS supports migrating from a Cloud SQL for PostgreSQL instance. You can also use it to upgrade your database version.\n- **Option 2** . Move your data from one version of PostgreSQL to another by *exporting* data from the current instance and *importing* that data into a new instance running the later version of PostgreSQL. This process involves downtime; you put the current instance into read-only mode before starting the export.\n\nThe rest of this page discusses the second option.\n\nPlan a major version upgrade\n----------------------------\n\n1. Choose a target major version.\n\n See the [list of versions that Cloud SQL supports](/sql/docs/postgres/db-versions).\n2. Consider the features offered in each PostgreSQL version and address\n incompatibilities.\n\n New major versions introduce incompatible changes that might require you to\n modify the application code, the schema, or the database settings before\n you can upgrade your database instance. Review the release notes of your\n target major version to determine the incompatibilities that you need to\n address. If you're skipping major versions, address the incompatibilities\n listed for each version that you're skipping.\n - [PostgreSQL 17](https://www.postgresql.org/docs/17/release-17.html)\n - [PostgreSQL 16](https://www.postgresql.org/docs/16/release-16.html)\n - [PostgreSQL 15](https://www.postgresql.org/docs/15/release-15.html)\n - [PostgreSQL 14](https://www.postgresql.org/docs/14/static/release-14.html)\n - [PostgreSQL 13](https://www.postgresql.org/docs/13/static/release-13.html)\n - [PostgreSQL 12](https://www.postgresql.org/docs/12/static/release-12.html)\n - [PostgreSQL 11](https://www.postgresql.org/docs/11/static/release-11.html)\n - [PostgreSQL 10](https://www.postgresql.org/docs/10/static/release-10.html)\n3. Test the upgrade with a dry run.\n\n Perform a dry run of the end-to-end upgrade process with a test instance\n before you upgrade the production database. You might want to test the upgrade\n using a [clone](/sql/docs/postgres/clone-instance)\n instead of your production database to avoid any performance impact from the\n export on your production workload.\n\n In addition to validating that the upgrade completes successfully, run\n tests to understand the expected downtime of the upgrade, confirm your\n upgrade workflow, and ensure that the application behaves as expected on the upgraded\n database. If you haven't enabled [automatic storage increases](/sql/docs/postgres/instance-settings#automatic-storage-increase-2ndgen),\n take note of the disk storage used by the upgraded dry run instance to\n determine whether you need to increase the storage capacity for the\n production instance before upgrading.\n4. Decide when you want to upgrade.\n\n | **Note:** Upgrades require the instance to become unavailable for a period of time. Be sure to schedule your upgrade when database activity is low.\n\nMigrate your data\n-----------------\n\nMigrating entails using the [`pg_dump`](https://www.postgresql.org/docs/14/static/app-pgdump.html)\ncommand to [export the data](/sql/docs/postgres/import-export/import-export-dmp#export)\nfrom the source instance and the [`pg_restore`](https://www.postgresql.org/docs/14/static/app-pgrestore.html)\ncommand to [import the data](/sql/docs/postgres/import-export/import-export-dmp#import)\ninto the target instance.\n\nTo migrate your data to a Cloud SQL instance running a more recent database\nversion, follow these steps:\n\n1. Create the target instance with the desired PostgreSQL version.\n\n Make sure the target instance has:\n - Sufficient storage to hold all of the current instance's data.\n - The same authorized networks as the current instance. [Learn more](/sql/docs/postgres/configure-ip).\n - The same user accounts, with the same PostgreSQL privileges and passwords.\n\n For more information, see [Creating an instance](/sql/docs/postgres/create-instance).\n2. Confirm that you can [connect to the new instance](/sql/docs/postgres/connect-admin-ip) with your local PostgreSQL\n tools and update them, if necessary.\n\n3. Export the current instance's data to a PostgreSQL dump file, following the\n instructions in\n [Exporting data for Import into Cloud SQL](/sql/docs/postgres/import-export/import-export-dmp#external-server).\n\n Do *not* export the `postgres` system database. The `postgres` database is\n the default database you connect to before you have created any other\n databases. Once you create another database, switch to it in order\n to create tables and insert data. Don't use the `postgres` database for your\n application's data.\n4. [Create a Cloud Storage bucket](/storage/docs/creating-buckets)\n if needed, and upload your SQL dump file to the bucket.\n\n5. Import the data to the target instance, following the instructions in\n [Importing PostgreSQL databases from Cloud Storage](/sql/docs/postgres/import-export/import-export-dmp#import_data_using_pg_restore_).\n\n6. Optional. After completing the upgrade process, set up replication\n between the source and target instances using `pglogical` to update the\n target with all changes that have occurred since the initial dump was\n started. Once the two instances are in sync, you can promote the target\n instance.\n\n For information about using `pglogical` to implement continuous replication,\n see [Configure your source](/database-migration/docs/postgres/configure-source-database).\n7. Update your applications to connect to the new instance.\n\n8. When you're confident that your new instance is operating successfully,\n delete the old instance.\n\nWhat's next\n-----------\n\n- Learn about [importing and exporting data](/sql/docs/postgres/import-export).\n- Learn about [options for connecting to an instance](/sql/docs/postgres/external-connection-methods).\n- Learn more about [setting PostgreSQL flags](/sql/docs/postgres/flags)."]]