Crea y administra bases de datos

Esta página contiene información sobre cómo crear, hacer una lista y borrar bases de datos de PostgreSQL en una instancia de Cloud SQL.

Una instancia recién creada tiene una base de datos postgres.

Para obtener más información sobre las bases de datos de PostgreSQL, consulta la documentación de PostgreSQL.

Antes de comenzar

Antes de completar las tareas de esta página, debes haber hecho lo siguiente:

  • Crear una instancia de Cloud SQL. Para obtener más información, consulta Crea instancias.

Si planeas usar el cliente psql para crear o administrar tus bases de datos, debes haber hecho lo siguiente:

Crea una base de datos en la instancia de Cloud SQL

Consola

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Bases de datos en el menú de navegación de SQL.
  4. Haga clic en Create database.
  5. En el cuadro de diálogo Nueva base de datos, especifica el nombre de la base de datos
    .
  6. Haz clic en Crear.

gcloud

Para obtener información de referencia, consulta gcloud sql databases create.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

Para crear una base de datos, usa un recurso de Terraform.

resource "google_sql_database" "database" {
  name     = "my-database"
  instance = google_sql_database_instance.instance.name
}

Aplica los cambios

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los pasos de las siguientes secciones.

Prepara Cloud Shell

  1. Inicia Cloud Shell
  2. Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.

    Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.

Prepara el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo, main.tf. En este instructivo, el archivo se denomina main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.

    Copia el código de muestra en el main.tf recién creado.

    De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.

  3. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  4. Guarda los cambios.
  5. Inicialice Terraform. Solo debes hacerlo una vez por directorio.
    terraform init

    De manera opcional, incluye la opción -upgrade para usar la última versión del proveedor de Google:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  2. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.

  3. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

Borra los cambios

Para borrar tus cambios, haz lo siguiente:

  1. Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento deletion_protection en false.
    deletion_protection =  "false"
  2. Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply
  1. Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa yes cuando se te solicite:

    terraform destroy

REST v1

La siguiente solicitud usa el método databases:insert para crear una base de datos nueva en la instancia especificada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia
  • database-name: El nombre de una base de datos dentro de la instancia de Cloud SQL

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

Cuerpo JSON de la solicitud:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

La siguiente solicitud usa el método databases:insert para crear una base de datos nueva en la instancia especificada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia
  • database-name: El nombre de una base de datos dentro de la instancia de Cloud SQL

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

Cuerpo JSON de la solicitud:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Cliente psql

Para obtener información de referencia, consulta crear base de datos en la documentación de PostgreSQL.

Consulta los siguientes temas en la documentación de PostgreSQL para obtener información general y una lista de valores de grupos de caracteres compatibles:

CREATE DATABASE database_name
  [[ ENCODING encoding ][ LC_COLLATE lc_collate ]];

Por ejemplo:
CREATE DATABASE "example_db" WITH OWNER "example_user" ENCODING 'UTF8' LC_COLLATE = 'pl_PL.utf8' LC_CTYPE = 'pl_PL.utf8' TEMPLATE template0;

Enumera tus bases de datos

Para hacer una lista de todas las bases de datos en una instancia, haz lo siguiente:

Consola

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Haz clic en Bases de datos en el menú lateral izquierdo. La página Bases de datos muestra las bases de datos junto con su tipo de intercalación, grupo de caracteres y tipo de base de datos.

gcloud

Para obtener información de referencia, consulta gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

La siguiente solicitud usa el método databases:list para hacer una lista de las bases de datos de una instancia.

Cuando haces una lista de las bases de datos con la API, verás bases de datos de plantillas adicionales y una base de datos del sistema que la consola no muestra. No puedes borrar o administrar la base de datos del sistema.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

La siguiente solicitud usa el método databases:list para hacer una lista de las bases de datos de una instancia.

Cuando haces una lista de las bases de datos con la API, verás bases de datos de plantillas adicionales y una base de datos del sistema que la consola no muestra. No puedes borrar o administrar la base de datos del sistema.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Cliente psql

Para obtener información de referencia, consulta la lista.

Cuando se enumeran las bases de datos mediante el cliente psql, se ven bases de datos de plantillas adicionales y una base de datos del sistema que no se muestran en la consola. No puedes borrar o administrar la base de datos del sistema.

\l

Borrar una base de datos

Para borrar una base de datos en la instancia de Cloud SQL, haz lo siguiente:

Consola

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Haz clic en Bases de datos en el menú lateral izquierdo.
  4. En la lista de bases de datos, busca la base de datos que deseas borrar y haz clic en el ícono de la papelera.
  5. En el cuadro de diálogo Borrar base de datos, ingresa el nombre de la base de datos y, luego, haz clic en Borrar.

gcloud

Para obtener información de referencia, consulta gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

La siguiente solicitud usa el método databases:delete para borrar la base de datos especificada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia
  • database-name: El nombre de una base de datos dentro de la instancia de Cloud SQL

Método HTTP y URL:

DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

La siguiente solicitud usa el método databases:delete para borrar la base de datos especificada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: El ID de la instancia
  • database-name: El nombre de una base de datos dentro de la instancia de Cloud SQL

Método HTTP y URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Cliente psql

Para obtener información de referencia, consulta DROP DATABASE en la documentación de PostgreSQL.

DROP DATABASE [database_name];

¿Qué sigue?

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Cloud SQL gratis