Creazione e gestione di database

Questa pagina contiene informazioni su come creare, elencare ed eliminare PostgreSQL su un'istanza Cloud SQL.

Un'istanza appena creata ha un database postgres.

Per saperne di più sui database PostgreSQL, consulta Documentazione di PostgreSQL.

Prima di iniziare

Prima di completare le attività in questa pagina, devi avere:

  • È stata creata un'istanza Cloud SQL. Per ulteriori informazioni, consulta la sezione Creare istanze.

Se prevedi di utilizzare il client psql per creare o gestire i tuoi database, devi avere:

Creare un database nell'istanza Cloud SQL

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Database dal menu di navigazione SQL.
  4. Fai clic su Crea database.
  5. Nella finestra di dialogo Nuovo database, specifica il nome del database.
  6. Fai clic su Crea.

gcloud

Per informazioni di riferimento, consulta gcloud sql databases create.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

Per creare un database, utilizza una risorsa Terraform.

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

Applica le modifiche

Per applicare la configurazione Terraform a un progetto Google Cloud, completa i passaggi nella le sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione di Terraform.

Prepara la directory

Ogni file di configurazione Terraform deve avere una directory dedicata (inoltre chiamato modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo all'interno di quella directory. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice di esempio in ogni sezione o passaggio.

    Copia il codice campione nel nuovo oggetto main.tf.

    Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform sta per creare o aggiornare corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes alla richiesta:
    terraform apply

    Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". per creare un nuovo messaggio email.

  3. Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, imposta il file di configurazione Terraform Argomento deletion_protection per false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente inserendo yes alla richiesta:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente comando e inserendo yes al prompt:

    terraform destroy

REST v1

La seguente richiesta utilizza il metodo databases:insert per creare un nuovo database nell'istanza specificata.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza
  • database-name: il nome di un database all'interno dell'istanza Cloud SQL

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

La seguente richiesta utilizza il metodo databases:insert per creare un nuovo database nell'istanza specificata.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza
  • database-name: il nome di un database all'interno dell'istanza Cloud SQL

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Client psql

Per informazioni di riferimento, consulta CREATE DATABASE nella documentazione di PostgreSQL.

Per informazioni di contesto e un elenco dei valori dei set di caratteri supportati, consulta i seguenti argomenti nella documentazione di PostgreSQL:

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

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

Elenca i tuoi database

Per elencare tutti i database di un'istanza:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Database nel menu a sinistra. La pagina Database elenca i database insieme al tipo di confronto, al set di caratteri e al tipo di database.

gcloud

Per informazioni di riferimento, vedi gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

La seguente richiesta utilizza databases:elenco per elencare i database di un'istanza.

Quando elenchi i database utilizzando l'API, vedi database di modelli aggiuntivi e un database di sistema che non vengono visualizzati dalla console. Non puoi eliminare o gestire il database di sistema.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

La seguente richiesta utilizza databases:elenco per elencare i database di un'istanza.

Quando elenchi i database utilizzando l'API, vedi ulteriori database di modelli e un database di sistema che non vengono visualizzati la console. Non puoi eliminare o gestire il database di sistema.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Client psql

Per informazioni di riferimento, consulta elenco.

Quando elenchi i database utilizzando il client psql, vedrai ulteriori database di modelli e un database di sistema che non vengono visualizzati la console. Non puoi eliminare o gestire il database di sistema.

\l

Eliminare un database

Per eliminare un database nell'istanza Cloud SQL:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Database nel menu a sinistra.
  4. Nell'elenco dei database, individua quello da eliminare e fai clic sull'icona del cestino.
  5. Nella finestra di dialogo Elimina database, inserisci il nome del database. e fai clic su Elimina.

gcloud

Per informazioni di riferimento, vedi gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

La seguente richiesta utilizza databases:elimina per eliminare il database specificato.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza
  • database-name: il nome di un database all'interno dell'istanza Cloud SQL

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

La richiesta seguente utilizza il metodo databases:delete per eliminare il database specificato.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza
  • database-name: il nome di un database all'interno dell'istanza Cloud SQL

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Client psql

Per informazioni di riferimento, consulta DROP DATABASE nella documentazione di PostgreSQL.

DROP DATABASE [database_name];

Passaggi successivi

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud SQL in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Cloud SQL gratuitamente