Preguntas frecuentes de Cloud SQL para PostgreSQL

Información

¿Qué es Cloud SQL?
Cloud SQL es un servicio que entrega bases de datos de SQL completamente administradas en la nube. Cloud SQL proporciona bases de datos de PostgreSQL, SQL Server y MySQL.
¿Cuáles son los beneficios de usar Cloud SQL?
Cloud SQL te permite delegar a Google las tareas tediosas (aunque necesarias) que, por lo general, consumen mucho tiempo —por ejemplo, la aplicación de parches y actualizaciones, la administración de copias de seguridad y la configuración de replicaciones— para que puedas enfocarte en la compilación de aplicaciones excelentes. Y debido a que usamos protocolos de conexión estándar, puedes conectarte desde casi cualquier aplicación, en cualquier lugar.
¿Qué versiones de base de datos están disponibles con Cloud SQL? ¿Cómo se administran las actualizaciones?

Cloud SQL para PostgreSQL es compatible con PostgreSQL 9.6, 10, 11 y 12 (predeterminado). Las actualizaciones de versiones secundarias se implementan a medida que se lanzan, y no hace falta que realices ninguna acción. Para obtener más información sobre las actualizaciones, consulta la Descripción general del mantenimiento de instancias de Cloud SQL.

Para ver la versión actual de tu instancia, ve a Google Cloud Console y haz clic en el nombre de la instancia para abrir la página Detalles de la instancia. De manera alternativa, puedes usar el comando gcloud sql instances describe.

¿Cloud SQL admite todas las funciones de bases de datos?
Cloud SQL admite la mayoría de las características comunes de PostgreSQL. Para obtener una lista de todas las diferencias entre PostgreSQL estándar y la funcionalidad que ofrece Cloud SQL, consulta Diferencias entre Cloud SQL y la funcionalidad estándar de PostgreSQL.
¿Existe algún límite de tamaño o QPS?
No hay límites de consultas por segundo (QPS) en las instancias de Cloud SQL. Para obtener más información sobre la conexión, el tamaño y los límites específicos de App Engine, consulta Cuotas y límites.
¿Cómo me notifican si hay algún cambio en Cloud SQL?
Puedes registrarte en el foro google-cloud-sql-announce. Allí publicamos anuncios y noticias sobre Cloud SQL.
¿Cómo reporto un error, solicito una característica o hago una pregunta?
Puedes reportar un error y solicitar una característica en nuestro grupo google-cloud-sql-discuss. Puedes realizar preguntas en Stack Overflow. Para obtener más opciones de asistencia, consulta la página Asistencia de Cloud SQL.
Volver al principio

Comienza ahora

¿Por qué mi instancia nueva sin datos muestra que se está usando espacio del disco?
Cloud SQL y la base de datos usan un poco de espacio para los archivos de sistema y metadatos cuando se crea tu instancia.
Volver al principio

Almacenamiento y replicación de datos

¿Dónde se almacenan mis datos?

Instancias de PostgreSQL: Los datos de la instancia se almacenan en la región en la que reside la instancia. Si no especificas una ubicación de almacenamiento, tus copias de seguridad se almacenarán en la multirregión que está geográficamente más cerca de la ubicación de tu instancia de Cloud SQL. Por ejemplo, si tu instancia de Cloud SQL está en us-central1, tus copias de seguridad se almacenan en la multirregión us de forma predeterminada. Sin embargo, una ubicación predeterminada como australia-southeast1 está fuera de una multirregión. La multirregión más cercana es asia.

Si especificas una sola región y esa región sufre una interrupción, no puedes restablecer la copia de seguridad mientras la instancia está inactiva.

¿Qué es una zona?

Una zona es una entidad independiente en una ubicación geográfica específica donde puedes ejecutar tus recursos. Por ejemplo, una zona llamada us-central1-a indica una ubicación en el centro de Estados Unidos.

Para obtener más información sobre las zonas, consulta Recursos de zonas en la documentación de Compute Engine.

¿Cuáles son los límites de almacenamiento?
Para obtener más información sobre límites de almacenamiento, consulta Cuotas y límites.
¿Cómo se replican mis datos?

Las instancias de PostgreSQL ofrecen una configuración de alta disponibilidad y réplicas de lectura.

¿Cómo funciona la conmutación por error de Cloud SQL?

Para obtener más información sobre la conmutación por error, consulta Descripción general de configuración de alta disponibilidad.

¿Están encriptados mis datos?
Los datos del cliente de Cloud SQL se encriptan cuando se almacenan en tablas de bases de datos, archivos temporales y copias de seguridad. Las conexiones externas se pueden encriptar mediante el uso de SSL o del proxy de autenticación de Cloud SQL.
¿Cómo se administra la encriptación de los datos en reposo?

Tus datos se encriptan con el Estándar de encriptación avanzada de 256 bit (AES-256) o, mejor aún, con claves simétricas: es decir, la misma clave se usa para encriptar los datos cuando se almacenan y desencriptarlos cuando se usan. Estas claves de datos se encriptan a sí mismas mediante una clave almacenada en un almacén de claves seguro y cambian con regularidad.

Para obtener más detalles, consulta Encriptación en reposo en Google Cloud.

¿Cómo se administra la encriptación de los datos en tránsito?

Google encripta y autentica todos los datos en tránsito en una o más capas de red cuando los datos se transfieren fuera de los límites físicos no controlados por Google ni en su nombre. Por lo general, los datos en tránsito dentro de un límite físico controlado por Google o en su nombre se autentican, pero puede que no se encripten según la configuración predeterminada. Si usas la dirección IP pública de una instancia para conectarte a ella, debes utilizar certificados SSL/TLS a fin de que los datos estén protegidos durante la transmisión. Puedes elegir las medidas de seguridad adicionales que puedes aplicar según tu modelo de amenaza. Por ejemplo, puedes configurar SSL para conexiones a Cloud SQL dentro de la zona.

Para obtener más detalles, consulta Encriptación en tránsito en Google Cloud.

¿Qué tipo de réplicas de lectura puedo crear?

Si quieres obtener más información sobre las réplicas de lectura, incluidos los casos de uso para cada tipo, consulta Opciones de replicación.

Volver al principio

Copia de seguridad y recuperación

¿Cómo recupero una instancia?

Puedes usar Google Cloud Console o la herramienta de línea de comandos de gcloud para recuperar a una copia de seguridad. Para obtener más detalles, consulta Restablece una instancia.

¿Cuánto cuestan las copias de seguridad?

Las copias de seguridad se cobran según la tarifa de almacenamiento de instancias.

Para obtener más información sobre los precios de almacenamiento de instancias y las tarifas de instancias, consulta Precios.

¿Puedo acceder a las copias de seguridad automáticas que tengan más de siete días?

Las copias de seguridad automáticas se realizan todos los días, y, de forma predeterminada, se conservan durante siete días. Puedes configurar el valor de retención de la copia de seguridad de una a 365 copias de seguridad. Al final del período de retención, se borra la copia de seguridad más antigua. Las copias de seguridad automáticas son incrementales. Solo contienen los datos que cambiaron después de que se realizó la copia de seguridad anterior. La copia de seguridad más antigua tiene un tamaño similar al de la base de datos. Cuando se borra la copia de seguridad más antigua, el tamaño de la copia de seguridad que le sigue en antigüedad aumenta de modo que siempre exista una copia de seguridad completa.

Ten en cuenta que las copias de seguridad a pedido no se borran hasta que las quites de forma manual.

¿Cuándo debo usar la replicación externa en vez de la replicación entre regiones para la protección contra fallas regionales?
Replicación externa Replicación entre regiones
Autoadministrada por el cliente. Réplica entre regiones administrada de Cloud SQL.
Puede replicar entre instancias de GCP y entre instancias que no sean de GCP. Solo puede replicar entre instancias de Cloud SQL de GCP.
Para migrar desde o hacia GCP a fin de minimizar el tiempo de inactividad o para proteger datos híbridos o en múltiples nubes. Para migrar datos entre regiones de GCP a fin de minimizar el tiempo de inactividad.
Admite la replicación entre versiones principales. No admite la replicación entre versiones principales.
Volver al principio

Administración de instancias

¿Qué acciones pueden provocar que se reinicien las instancias de Cloud SQL?
Es posible que se reinicien las instancias de Cloud SQL cuando tú o Cloud SQL realizan las siguientes acciones:
  • Actualizar
  • Crear
  • Promover una réplica
  • Realizar tareas de mantenimiento
  • Volver a crear una réplica
  • Conmutar por error
  • Reiniciar
  • Restablecer una instancia a partir de la copia de seguridad
  • Habilitar la alta disponibilidad en una instancia existente (esta es una actualización de la instancia)
  • Agregar una marca de base de datos que requiere reinicio

Reiniciar una instancia no cambia las direcciones IP públicas o privadas de la instancia.

Consulta ¿Durante cuánto tiempo se apagan las instancias cuando se reinician?

¿Durante cuánto tiempo se apagan las instancias cuando se reinician?

Cuando las instancias se reinician, la mayoría se apaga durante uno o dos minutos. Antes de que se apague la instancia, se finalizan todas las conexiones y se limpia el trabajo actual del disco. En el caso de las instancias con una carga grande, este proceso lleva más tiempo y puede parecer que la instancia se detuvo. En estos casos, el proceso de apagado y reinicio de la instancia puede tomar hasta una hora.

¿Puedo agrandar o achicar mi base de datos?

Puedes aumentar la cantidad de almacenamiento disponible para tu instancia en cualquier momento sin sufrir tiempo de inactividad. No puedes disminuir el tamaño de almacenamiento de tu instancia. También puedes configurar tu instancia para que, de forma automática, aumente su capacidad de almacenamiento cuando se esté por quedar sin espacio. Obtén más información.

¿Puedo actualizar o cambiar a una versión inferior de CPU virtuales?

Sí, puedes cambiar la cantidad de CPU virtuales que usas en tu instancia. Puedes aumentar o disminuir la cantidad de núcleos que usas tantas veces como desees. Por lo general, lleva menos de cinco minutos de inactividad cambiar la cantidad de CPU virtuales.

¿Necesito usar Google Cloud Console para administrar Cloud SQL?
No. Todas las tareas de administración que se pueden realizar mediante Console también se realizan de manera programática a través de la API de Administrador de Cloud SQL o mediante una secuencia de comandos con la herramienta de línea de comandos de gcloud.
¿Cómo puedo recuperar el espacio que usan los archivos temporales?
Los archivos temporales pueden crecer cuando se crean muchas tablas temporales como resultado de las consultas de SQL. Para recuperar el espacio que usan las tablas temporales, debes reiniciar la base de datos. Ten en cuenta que reiniciar la base de datos no reduce el espacio de disco aprovisionado que resulta del crecimiento de los archivos temporales.
¿Puedo importar o exportar una base de datos específica?
Sí. Solo puedes importar o exportar una base de datos específica; no puedes importar ni exportar más de una base de datos a la vez. Si quieres obtener más información, consulta Importa datos o Exporta datos.
¿Puedo importar o exportar un archivo CSV?
Puedes importar o exportar un archivo CSV. Para obtener más información, consulta Crea un archivo CSV.
¿Necesito una cuenta de Cloud Storage para importar o exportar datos a una instancia?
Cloud SQL admite la importación y exportación de bases de datos (archivos de volcado de SQL comprimidos o no comprimidos) mediante un depósito de Cloud Storage. A fin de importar o exportar con un depósito de Cloud Storage, debes registrarte para obtener una cuenta de Google Cloud y crear un depósito, o tener acceso a un depósito de Cloud Storage mediante otra cuenta. Si quieres obtener más información, consulta Importa datos o Exporta datos.
Si borro mi instancia, ¿puedo volver a usar el nombre de la instancia?
Sí, pero no de inmediato. Puede que tengas que esperar hasta una semana para que el nombre de la instancia vuelva a estar disponible.
¿Qué es el usuario de la base de datos cloudsqladmin?
Cada instancia de Cloud SQL incluye un usuario de base de datos llamado cloudsqladmin. Puedes observar este usuario si realizas un SHOW GRANTS FOR cloudsqladmin@localhost. En algunas instancias, esto también se mostrará en la tabla de usuario de sistema. Esta cuenta de usuario se usa en procesos automatizados que necesitan acceder a los datos en tu instancia (por ejemplo, para crear una copia de seguridad de tu instancia o realizar una importación o exportación).
¿Qué nivel de aislamiento de transacción brinda Cloud SQL?

Instancias PostgreSQL: Cloud SQL proporciona aislamiento de transacción de Read committed. Puedes cambiar el nivel de aislamiento de transacción para una transacción específica, pero, por lo general, se prefiere el valor predeterminado. Para obtener más información, consulta Aislamiento de transacción en la documentación de PostgreSQL.

¿Por qué no puedo encontrar el plan de consulta de muestra en Insights?
Solo tenemos consultas de muestra para obtener el plan de consulta, debido al impacto de rendimiento que puede tener en la consulta. Como resultado, algunas veces los planes de consulta de muestra no aparecen.
Volver al principio

Precios y facturación

¿Cómo puedo probar Cloud SQL?
La instancia más pequeña es db-f1-micro. Puedes usarla para probar el servicio. Ten en cuenta que las instancias de núcleo compartido no están cubiertas por el ANS.
¿Cuántas instancias puedo crear en un proyecto?
Para obtener más información sobre el límite de instancias, consulta Cuotas y límites.
¿Qué tamaño de instancia de base de datos necesito? ¿Cuánta RAM?
En general, puedes mejorar el rendimiento de tu base de datos si eliges una instancia más grande con más RAM y CPU. Esto mejora el rendimiento de muchas consultas que requieren grandes cantidades de procesamiento, como las que incluyen uniones, ORDER BY o GROUPing. Sin embargo, el rendimiento de las actualizaciones que afectan a filas únicas no se verá tan afectado. Para obtener más información sobre el tamaño de las instancias y los precios, consulta la página de precios.
¿Cómo se calcula el uso de mi instancia?

Se cobra por el tiempo en que tu instancia está activada, por minuto.

¿Cómo se calcula el almacenamiento?
El almacenamiento se calcula según la cantidad de almacenamiento que tienes aprovisionado en tu instancia. El almacenamiento para las copias de seguridad se cobra según cuánto espacio usen tus copias de seguridad. El almacenamiento se cobra ya sea que tu instancia esté activada o desactivada.
¿Cómo puedo ver cuánto me cobrarán?
En la pestaña Facturación de Google Cloud Console, se muestra lo que se cobrará por tus instancias desde que se emitió la última factura.
¿Qué sucede cuando mi instancia alcanza el tamaño permitido?

Si tu instancia alcanza el tamaño de almacenamiento aprovisionado y no tienes habilitado el aumento automático o si alcanzó su límite configurado, las escrituras futuras a la base de datos no estarán habilitadas hasta que aumentes el tamaño de almacenamiento. Cuando se aumenta el tamaño de almacenamiento, no hace falta reiniciar la instancia ni tiempo de inactividad.

¿Por qué se suspende mi instancia?
Esto probablemente se deba a un problema con tu cuenta de Google Cloud. Puedes determinar el estado de tu facturación si presentas una Solicitud de asistencia de facturación. Una vez que se resuelve el problema de facturación, la instancia vuelve al estado ejecutable en unas pocas horas. Ten en cuenta que las instancias de MySQL suspendidas se borran después de 90 días.
¿Por qué se borró mi instancia?
Las instancias suspendidas durante 90 días se borran. Esto se aplica a instancias en estado SUSPENDED. Las instancias que están detenidas, en estado RUNNABLE, no se borran.
¿Cómo puedo cancelar mi cuenta de Cloud SQL?
Puedes desactivar Cloud SQL para un proyecto si visitas Google Cloud Console, seleccionas el proyecto y seleccionas el servicio de API para abrir el panel de API. Busca la API de Cloud SQL y haz clic en Inhabilitar.
¿Cómo inhabilito la facturación?
Si quieres inhabilitar la facturación, haz clic en Inhabilitar la facturación en el panel de Facturación y configuración de Google Cloud Console para un proyecto. Si inhabilitas la facturación, también inhabilitas el servicio de Cloud SQL. Asegúrate de que quieras inhabilitar el servicio de Cloud SQL antes de inhabilitar la facturación.

Luego de inhabilitar la facturación, recibirás una última factura por los cargos que ocurrieron entre el comienzo del ciclo de facturación y la cancelación.

Volver al principio

Uso de Cloud SQL con App Engine

¿Puedo conectarme desde App Engine a una instancia de PostgreSQL?
Puedes conectarte a una instancia de PostgreSQL desde una aplicación de App Engine según el entorno y el lenguaje que uses. Para obtener más información, consulta Conéctate desde el entorno estándar de App Engine o Conéctate desde el entorno flexible de App Engine.
¿Mi App Engine en EE.UU. puede acceder a mi instancia de Cloud SQL en la UE (y viceversa)?

Si te conectas a una instancia de PostgreSQL, tu aplicación de App Engine no necesita estar en la misma región. Sin embargo, una distancia mayor entre tu instancia de Cloud SQL y tu aplicación de App Engine provoca una latencia mayor para las conexiones a la base de datos.

¿Qué servicio de base de datos de Google Cloud es el adecuado para mí?
Esto depende de los requisitos de tu aplicación. Google Cloud ofrece una serie de servicios para almacenar y recuperar tus datos. Para obtener más información, consulta Opciones de almacenamiento.
¿Necesito instalar un servidor de base de datos local para usar el servidor de desarrollo de App Engine?
No. Puedes configurar App Engine para usar Cloud SQL o un servidor de base de datos instalado de forma local cuando se ejecute en el servidor de desarrollo.
¿Qué lenguajes puedo usar para acceder a mi instancia?
App Engine admite varios lenguajes que puedes usar para conectarte a tus instancias. Para obtener más información, consulta Conéctate desde el entorno estándar de App Engine o Conéctate desde el entorno flexible de App Engine.

Si no usas App Engine, puedes usar cualquier lenguaje que tenga un conector asociado o una API.

¿Puedo usar Django con Cloud SQL?
Sí, Cloud SQL es compatible con Django. Consulta Comienza a usar Django.
¿Qué marcadores de posición puedo usar en mi cadena de consulta de Python?
Los usuarios de Python solo pueden usar el código de formato %s en la substitución de parámetro. Por lo tanto, esta declaración no es válida: cursor.execute('INSERT INTO entries (guestAge) VALUES (%d)', (age)).
¿Cómo administro las conexiones?

La administración eficiente de tus conexiones de base de datos es un aspecto importante del desarrollo de la aplicación de la base de datos, incluidos el uso de la agrupación de conexiones y la retirada exponencial. Si quieres obtener ejemplos sobre cómo usar estas técnicas en varios lenguajes y marcos de trabajo, consulta Administra conexiones de bases de datos.

Para obtener más información sobre los límites de conexión de instancias, consulta Cuotas y límites.

¿Qué significa una SQLException con el mensaje “ID de conexión no válida”?
Significa que la conexión ya no está abierta en el servidor y que el cliente la descarta. No es necesario que llames a “close” para estas conexiones; ya están cerradas.
¿Puedo acceder a la instancia de Cloud SQL de manera programática fuera de App Engine?
Sí. Puedes acceder a instancias de Cloud SQL de manera programática desde aplicaciones externas con cualquier lenguaje compatible. Consulta Descripción general de las conexiones.
Volver al principio