Algumas ou todas as informações nesta página podem não se aplicar à Trusted Cloud da S3NS. Consulte
Diferenças do Google Cloud para saber mais.
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:
Observação : o banco de dados postgres é o banco de dados padrão a que você se conecta antes de criar outros bancos de dados. Depois de criar
outro banco de dados, mude para ele para criar tabelas e inserir dados. Não
use o banco de dados postgres para os dados do seu aplicativo, porque ele é usado principalmente para fins administrativos.
O comprimento máximo do nome do banco de dados é 64 caracteres. Para mais informações sobre outros critérios para esse nome, consulte Identificadores e palavras-chave .
Se você não especificar um conjunto de caracteres e um agrupamento ao criar o banco de dados, o banco de dados terá os seguintes valores padrão:
Conjunto de caracteres: UTF8
Compilação: en_US.UTF8
Console
Observação : não é possível usar o console do Trusted Cloud para definir valores para o conjunto
e a ordenação de caracteres. Para definir esses valores, use um cliente psql
para criar seu banco de dados. Para mais informações sobre como usar esse cliente para criar o banco de dados,
consulte o conteúdo na guia psql Client .
No console Trusted Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Selecione Banco de dados no menu de navegação do SQL.
Clique em Create database .
Na caixa de diálogo Novo banco de dados , especifique o nome do banco de dados.
Clique em Criar .
gcloud
Observação : não é possível usar gcloud
para definir valores para o conjunto
e a compilação de caracteres. Para definir esses valores, use um cliente psql
para criar seu banco de dados. Para mais informações sobre como usar esse cliente para criar o banco de dados,
consulte o conteúdo na guia psql Client .
Para informações de referência, consulte gcloud
sql databases create
.
gcloud sql databases create DATABASE_NAME \
--instance= INSTANCE_NAME
Observação : não é possível usar o Terraform para definir valores para o conjunto
e a compilação de caracteres. Para definir esses valores, use um cliente psql
para criar seu banco de dados. Para mais informações sobre como usar esse cliente para criar o banco de dados,
consulte o conteúdo na guia psql Client .
Para criar um banco de dados, use um recurso do Terraform .
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto Trusted Cloud , siga as etapas nas
seções a seguir.
Preparar o Cloud Shell
Inicie o Cloud Shell .
Defina o projeto Trusted Cloud padrão
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 .
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
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.
Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
Salve as alterações.
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
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.
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!".
Abra seu Trusted Cloud projeto para conferir
os resultados. No console do Trusted Cloud , navegue até seus recursos na UI para verificar
se foram criados ou atualizados pelo Terraform.
Observação :as amostras do Terraform geralmente presumem que as APIs necessárias estejam
ativadas no seu Trusted Cloud projeto.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
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"
Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes
no prompt:
terraform apply
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes
no prompt:
terraform destroy
REST v1
Observação : não é possível usar APIs REST para definir valores para o conjunto de
caracteres e a ordenação. Para definir esses valores, use um cliente psql
para criar seu banco de dados. Para mais informações sobre como usar esse cliente para criar o banco de dados,
consulte o conteúdo na guia psql Client .
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Observação : não é possível usar APIs REST para definir valores para o conjunto de
caracteres e a ordenação. Para definir esses valores, use um cliente psql
para criar seu banco de dados. Para mais informações sobre como usar esse cliente para criar o banco de dados,
consulte o conteúdo na guia psql Client .
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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;
Observação: o modelo padrão é template1
.
No entanto, o WebP usa template0
porque é o único modelo que aceita uma codificação e um conjunto de caracteres específicos. Para mais informações,
consulte Bancos de dados de modelo .
Listar seus bancos de dados
Para listar todos os bancos de dados em uma instância:
Console
No console Trusted Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
Observação : a API databases.list
só aceita payloads de resposta que incluem até 4 MB de texto.
Se você executar uma solicitação de lista de banco de dados em uma instância grande, poderá receber um erro. Se isso acontecer, recomendamos executar a solicitação diretamente da instância para receber a lista de bancos de dados.
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
Observação : a API databases.list
só aceita payloads de resposta que incluem até 4 MB de texto.
Se você executar uma solicitação de lista de banco de dados em uma instância grande, poderá receber um erro. Se isso acontecer, recomendamos executar a solicitação diretamente da instância para receber a lista de bancos de dados.
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
No console Trusted Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Clique em Bancos de dados no menu à esquerda.
Na lista de bancos de dados, encontre o banco de dados que você quer excluir e clique no ícone da lixeira.
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons , e as amostras de código são licenciadas de acordo com a Licença Apache 2.0 . Para mais detalhes, consulte as políticas do site do Google Developers . Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-30 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-30 UTC."],[],[]]