Criar e gerenciar bancos de dados

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

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

Para saber mais sobre os bancos de dados PostgreSQL, confira a documentação do PostgreSQL.

Antes de começar

Antes de concluir as tarefas nesta página, é necessário fazer o seguinte:

  • Criou uma instância do Cloud SQL. Para saber mais, consulte o artigo Criar instâncias.

Se você planeja usar o cliente psql para criar ou gerenciar os bancos de dados, é necessário fazer o seguinte:

  • Acesso configurado e conectado à instância com um cliente psql. Para mais informações sobre as opções de conexão dos aplicativos externos, consulte esta página.

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

Console

  1. No console do Google Cloud, 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 Banco de dados no menu de navegação do SQL.
  4. Clique em Create database.
  5. Na caixa de diálogo Novo banco de dados, especifique o nome do banco de dados.
  6. Clique em Criar.

gcloud

Para 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
}

Aplique as alterações

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

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As 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 precisa ter o 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 precisa ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.

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

    Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as 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

Aplique as alterações

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

    Faça as correções necessárias na configuração.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.

Excluir as alterações

Para excluir as mudanças, faça o seguinte:

  1. Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo 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 os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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 os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Cliente psql

Para informações de referência, consulte CREATE DATABASE (em inglês) na documentação do PostgreSQL.

Para conhecer os princípios e uma lista de valores de conjuntos de caracteres compatíveis, veja os seguintes tópicos da documentação do PostgreSQL:

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

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

Listar seus bancos de dados

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

Console

  1. No console do Google Cloud, 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 listará os bancos de dados com o tipo de compilação, o conjunto de caracteres e o tipo de banco de dados.

gcloud

Para 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 em uma instância.

Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

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

Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Cliente psql

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

Ao listar os bancos de dados usando o cliente psql, você verá os outros modelos de banco de dados e um banco de dados do sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.

\l

Excluir um banco de dados

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

Console

  1. No console do Google Cloud, 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.
  4. Na lista de bancos de dados, encontre o banco de dados que você quer 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 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 os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

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

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Cliente psql

Para informações de referência, consulte DROP DATABASE (em inglês) na documentação do PostgreSQL.

DROP DATABASE [database_name];

Próximas etapas

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud SWL em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça uma avaliação gratuita do Cloud SQL