Envie comentários
Crie e faça a gestão de bases de dados
Esta página contém informações sobre a criação, a listagem e a eliminação de bases de dados PostgreSQL numa instância do Cloud SQL.
Uma instância recém-criada tem uma base de dados postgres
.
Para mais informações sobre bases de dados PostgreSQL, consulte a
documentação do PostgreSQL .
Antes de começar
Antes de concluir as tarefas nesta página, tem de ter:
Criou uma instância do Cloud SQL. Para mais informações,
consulte Criar instâncias .
Se planeia usar o cliente psql para criar ou gerir as suas bases de dados,
tem de ter:
Crie uma base de dados na instância do Cloud SQL
Nota: a base de dados postgres é a base de dados predefinida à qual se liga antes de criar outras bases de dados. Depois de criar outra base de dados, mude para esta para criar tabelas e inserir dados. Não use a base de dados postgres para os dados da sua aplicação, porque esta base de dados é usada principalmente para fins administrativos.
O comprimento máximo do nome da base de dados é de 64 carateres. Para mais informações
sobre outros critérios para este nome, consulte o artigo Identificadores e palavras-chave .
Se não especificar um conjunto de carateres e uma ordenação quando criar a base de dados,
a base de dados tem os seguintes valores predefinidos:
Conjunto de carateres: UTF8
Ordenação: en_US.UTF8
Consola
Nota: não pode usar a consola para definir valores para o conjunto de carateres e a ordenação. Google Cloud Para definir estes valores, use um psql
cliente para
criar a sua
base de dados. Para mais informações sobre a utilização deste cliente para criar a base de dados,
consulte o conteúdo no separador Cliente psql .
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL .
Aceda a Instâncias do Cloud SQL
Para abrir a página Vista geral de uma instância, clique no nome da instância.
Selecione Bases de dados no menu de navegação SQL.
Clique em Criar base de dados .
Na caixa de diálogo Nova base de dados , especifique o nome da base de dados.
Clique em Criar .
gcloud
Nota: não pode usar gcloud
para definir valores para o conjunto de carateres e a ordenação. Para definir estes valores, use um psql
cliente para
criar a sua
base de dados. Para mais informações sobre a utilização deste cliente para criar a base de dados,
consulte o conteúdo no separador Cliente psql .
Para informações de referência, consulte gcloud
sql databases create
.
gcloud sql databases create DATABASE_NAME \
--instance= INSTANCE_NAME
Nota: não pode usar o Terraform para definir valores para o conjunto de carateres e a ordenação. Para definir estes valores, use um psql
cliente para
criar a sua
base de dados. Para mais informações sobre a utilização deste cliente para criar a base de dados,
consulte o conteúdo no separador Cliente psql .
Para criar uma base de dados, use um recurso do Terraform .
Aplique as alterações
Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.
Prepare o Cloud Shell
Inicie o Cloud Shell .
Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.
Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.
Prepare o diretório
Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz ).
No Cloud Shell , crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf
, por exemplo, main.tf
. Neste tutorial, o ficheiro é denominado main.tf
.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.
Copie o exemplo de código para o ficheiro main.tf
criado recentemente.
Opcionalmente, copie o código do GitHub. Isto é recomendado
quando o fragmento do Terraform faz parte de uma solução completa.
Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
Guarde as alterações.
Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade
:
terraform init -upgrade
Aplique as alterações
Reveja a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expetativas:
terraform plan
Faça correções à configuração conforme necessário.
Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes
no comando:
terraform apply
Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).
Abra o seu Google Cloud projeto para ver
os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.
Nota: os exemplos do Terraform partem geralmente do princípio de que as APIs necessárias estão
ativadas no seu Google Cloud projeto.
Eliminar as alterações
Para eliminar as alterações, faça o seguinte:
Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento deletion_protection
como false
.
deletion_protection = "false"
Aplique a configuração do Terraform atualizada executando o seguinte comando e
introduzindo yes
no comando:
terraform apply
Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo yes
no comando:
terraform destroy
REST v1
Nota: não pode usar APIs REST para definir valores para o conjunto de carateres e a ordenação. Para definir estes valores, use um psql
cliente para
criar a sua
base de dados. Para mais informações sobre a utilização deste cliente para criar a base de dados,
consulte o conteúdo no separador Cliente psql .
O pedido seguinte usa o método
databases:insert
para criar uma nova base de dados na instância especificada.
Antes de usar qualquer um dos dados do pedido,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de uma base de dados na 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 do pedido:
{
"project": "project-id ",
"instance": "instance-id ",
"name": "database-name "
}
Para enviar o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando o comando
gcloud auth list
.
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando o comando
gcloud auth list
.
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
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
Nota: não pode usar APIs REST para definir valores para o conjunto de carateres e a ordenação. Para definir estes valores, use um psql
cliente para
criar a sua
base de dados. Para mais informações sobre a utilização deste cliente para criar a base de dados,
consulte o conteúdo no separador Cliente psql .
O pedido seguinte usa o método
databases:insert
para criar uma nova base de dados na instância especificada.
Antes de usar qualquer um dos dados do pedido,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de uma base de dados na 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 do pedido:
{
"project": "project-id ",
"instance": "instance-id ",
"name": "database-name "
}
Para enviar o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando o comando
gcloud auth list
.
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando o comando
gcloud auth list
.
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte:
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 na documentação do PostgreSQL.
Consulte os seguintes tópicos na documentação do PostgreSQL para obter informações gerais e uma lista de valores de conjunto de carateres 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;
Nota: o modelo predefinido é template1
.
No entanto, o psql usa template0
porque é o único modelo que aceita uma codificação e um conjunto de carateres específicos. Para mais informações,
consulte o artigo Bases de dados de modelos .
Apresente uma lista das suas bases de dados
Para listar todas as bases de dados numa instância:
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL .
Aceda a Instâncias do Cloud SQL
Para abrir a página Vista geral de uma instância, clique no nome da instância.
Clique em Bases de dados no menu do lado esquerdo. A página Bases de dados apresenta as bases de dados juntamente com o respetivo tipo de ordenação, conjunto de carateres e tipo de base de dados.
gcloud
Para informações de referência, consulte gcloud
sql databases list
.
gcloud sql databases list \
--instance= INSTANCE_NAME
REST v1
O pedido seguinte usa o método
databases:list
para listar as bases de dados de uma instância.
Quando lista as bases de dados através da API, vê bases de dados de modelos adicionais e uma base de dados do sistema que não são apresentadas pela consola. Não pode eliminar nem gerir a base de dados do sistema.
Antes de usar qualquer um dos dados do pedido,
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 o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando 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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando 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
Deve receber uma resposta JSON semelhante à seguinte:
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 "
}
Nota : a API databases.list
suporta apenas payloads de resposta que
incluem até 4 MB de texto.
Se executar um pedido de lista de bases de dados numa instância grande, pode receber um erro. Se isto ocorrer, para obter a lista de bases de dados, recomendamos que execute o pedido diretamente a partir da instância.
REST v1beta4
O pedido seguinte usa o método
databases:list
para listar as bases de dados de uma instância.
Quando lista as bases de dados através da API, vê bases de dados de modelos adicionais e uma base de dados do sistema que não são apresentadas pela consola. Não pode eliminar nem gerir a base de dados do sistema.
Antes de usar qualquer um dos dados do pedido,
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 o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando 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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando 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
Deve receber uma resposta JSON semelhante à seguinte:
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 "
}
Nota : a API databases.list
suporta apenas payloads de resposta que
incluem até 4 MB de texto.
Se executar um pedido de lista de bases de dados numa instância grande, pode receber um erro. Se isto ocorrer, para obter a lista de bases de dados, recomendamos que execute o pedido diretamente a partir da instância.
Cliente psql
Para informações de referência, consulte a lista .
Quando lista as bases de dados através do cliente psql
, vê bases de dados de modelos adicionais e uma base de dados do sistema que não são apresentadas pela consola. Não pode eliminar nem gerir a base de dados do sistema.
\ l
Elimine uma base de dados
Para eliminar uma base de dados na instância do Cloud SQL:
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL .
Aceda a Instâncias do Cloud SQL
Para abrir a página Vista geral de uma instância, clique no nome da instância.
Clique em Bases de dados no menu do lado esquerdo.
Na lista de bases de dados, encontre a base de dados que quer eliminar e
clique no ícone de lixo.
Na caixa de diálogo Eliminar base de dados , introduza o nome da base de dados
e, de seguida, clique em Eliminar .
gcloud
Para informações de referência, consulte gcloud
sql databases delete
.
gcloud sql databases delete DATABASE_NAME \
--instance= INSTANCE_NAME
REST v1
O pedido seguinte usa o método
databases:delete
para eliminar a base de dados especificada.
Antes de usar qualquer um dos dados do pedido,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de uma base de dados na 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 o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando 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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando 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
Deve receber uma resposta JSON semelhante à seguinte:
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
O pedido seguinte usa o método
databases:delete
para eliminar a base de dados especificada.
Antes de usar qualquer um dos dados do pedido,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de uma base de dados na 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 o seu pedido, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Nota:
O comando seguinte pressupõe que tem sessão iniciada na CLI gcloud
com a sua conta de utilizador executando gcloud init
ou gcloud auth login
, ou usando o Cloud Shell , que inicia automaticamente sessão na CLI gcloud
.
Pode verificar a conta atualmente ativa executando 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)
Nota:
O comando seguinte pressupõe que iniciou sessão na CLI do
Google Cloud com a sua conta de utilizador executando
gcloud init
ou
gcloud auth login
.gcloud
Pode verificar a conta atualmente ativa executando 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
Deve receber uma resposta JSON semelhante à seguinte:
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
na documentação do PostgreSQL.
DROP DATABASE [ database_name ];
O que se segue?
Envie comentários
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-10-19 UTC.
Quer enviar seu feedback?
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-19 UTC."],[],[]]