Criar e gerenciar bancos de dados

Esta página contém informações sobre como criar, listar e excluir bancos de dados PostgreSQL em uma instância do Cloud SQL.

Uma instância recém-criada tem um banco de dados postgres .

Para obter mais informações sobre bancos de dados PostgreSQL, consulte a documentação do PostgreSQL .

Antes de começar

Antes de concluir as tarefas desta página, você deve ter:

Se você planeja usar o cliente psql para criar ou gerenciar seus bancos de dados, você deve ter:

Crie um banco de dados na instância do Cloud SQL

Console

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL .

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Bancos de dados no menu de navegação SQL.
  4. Clique em Criar banco de dados .
  5. Na caixa de diálogo Novo banco de dados , especifique o nome do banco de dados.
  6. Clique em Criar .

gcloud

Para obter informações de referência, consulte gcloud sql databases create .

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

Para criar um banco de dados, use um recurso do Terraform .

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

Aplicar as alterações

Para aplicar sua configuração do Terraform em um Google Cloud projeto, conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell .
  2. Defina o padrão Google Cloud projeto onde você deseja aplicar suas configurações do Terraform.

    Você só precisa executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variáveis ​​de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform deve ter seu próprio diretório (também chamado de módulo raiz ).

  1. No Cloud Shell , crie um diretório e um novo arquivo dentro dele. O nome do arquivo deve ter a extensão .tf — por exemplo, main.tf Neste tutorial, o arquivo será chamado de main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver seguindo um tutorial, você pode copiar o código de exemplo em cada seção ou etapa.

    Copie o código de exemplo no main.tf recém-criado.

    Opcionalmente, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução completa.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve suas alterações.
  5. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção -upgrade :

    terraform init -upgrade

Aplicar as alterações

  1. Revise a configuração e verifique se os recursos que o Terraform irá criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça correções na configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Aplicação concluída!".

  3. Abra seu Google Cloud projeto para visualizar os resultados. No Google Cloud console, navegue até seus recursos na interface do usuário para garantir que o Terraform os criou ou atualizou.

Excluir as alterações

Para excluir suas alterações, faça o seguinte:

  1. Para desabilitar a proteção contra exclusão, no seu arquivo de configuração do Terraform defina o argumento deletion_protection como false .
    deletion_protection =  "false"
  2. Aplique a configuração atualizada do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com sua configuração do Terraform executando o seguinte comando e digitando yes no prompt:

    terraform destroy

REST v1

A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância
  • database-name : O nome de um banco de dados dentro da instância do Cloud SQL

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância
  • database-name : O nome de um banco de dados dentro da instância do Cloud SQL

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Cliente psql

Para obter informações de referência, consulte CREATE DATABASE na documentação do PostgreSQL.

Consulte os seguintes tópicos na documentação do PostgreSQL para obter informações básicas e uma lista de valores de conjuntos de caracteres suportados:

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

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

Liste seus bancos de dados

Para listar todos os bancos de dados em uma instância:

Console

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL .

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Clique em Bancos de Dados no menu à esquerda. A página Bancos de Dados lista os bancos de dados juntamente com seu tipo de agrupamento, conjunto de caracteres e tipo de banco de dados.

gcloud

Para obter informações de referência, consulte gcloud sql databases list .

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

A solicitação a seguir usa o método databases:list para listar os bancos de dados de uma instância.

Ao listar os bancos de dados usando a API, você verá bancos de dados de modelo adicionais e um banco de dados do sistema que não são exibidos pelo console. Não é possível excluir ou gerenciar o banco de dados do sistema.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância

Método HTTP e URL:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

A solicitação a seguir usa o método databases:list para listar os bancos de dados de uma instância.

Ao listar os bancos de dados usando a API, você verá bancos de dados de modelo adicionais e um banco de dados do sistema que não são exibidos pelo console. Não é possível excluir ou gerenciar o banco de dados do sistema.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância

Método HTTP e URL:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Cliente psql

Para informações de referência, veja a lista .

Ao listar os bancos de dados usando o cliente psql , você verá bancos de dados de modelo adicionais e um banco de dados do sistema que não são exibidos pelo console. Não é possível excluir ou gerenciar o banco de dados do sistema.

\l

Excluir um banco de dados

Para excluir um banco de dados na instância do Cloud SQL:

Console

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL .

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Clique em Bancos de dados no menu do lado esquerdo.
  4. Na lista de bancos de dados, encontre o banco de dados que deseja excluir e clique no ícone da lixeira.
  5. Na caixa de diálogo Excluir banco de dados , insira o nome do banco de dados e clique em Excluir .

gcloud

Para obter informações de referência, consulte gcloud sql databases delete .

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância
  • database-name : O nome de um banco de dados dentro da instância do Cloud SQL

Método HTTP e URL:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : O ID do projeto
  • instance-id : O ID da instância
  • database-name : O nome de um banco de dados dentro da instância do Cloud SQL

Método HTTP e URL:

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

Para enviar sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Cliente psql

Para obter informações de referência, consulte DROP DATABASE na documentação do PostgreSQL.

DROP DATABASE [database_name];

O que vem a seguir

Experimente você mesmo

Se você é novo no Google Cloud, crie uma conta para avaliar o desempenho do Cloud SQL em cenários reais. Novos clientes também ganham US$ 300 em créditos gratuitos para executar, testar e implantar cargas de trabalho.

Experimente o Cloud SQL gratuitamente