> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Gestire i database dalla CLI

> Crea, ispeziona, ridimensiona, avvia, arresta ed elimina i database Square Cloud con squarecloud db, e stampa o ruota il certificato TLS e la password.

`squarecloud db` gestisce i database MongoDB, MySQL, PostgreSQL e Redis del tuo account. Funziona anche come `squarecloud database`.

I database non hanno un file di configurazione, quindi `[dbID]` è l'ID che passi oppure, se lo ometti in un terminale, un selettore dei tuoi database. Trova gli ID con [`squarecloud db list`](#squarecloud-db-list).

## `squarecloud db create`

```bash Utilizzo theme={"system"}
squarecloud db create --name <name> --memory <MB> --type <engine> --version <version> [--json]
```

| Flag | Descrizione |
| - | - |
| `--name <name>` | Nome del database, da 1 a 32 caratteri. |
| `--memory <MB>` | Memoria allocata in MB. |
| `--type <engine>` | `mongo`, `mysql`, `redis` o `postgres`. |
| `--version <version>` | Versione del motore: una versione principale, come `17` per PostgreSQL o `8` per MongoDB, oppure una versione completa. |

Tutti e quattro i flag sono obbligatori: senza di essi, il comando stampa il proprio aiuto. Per creare un database serve un piano Standard, Pro o Enterprise.

```bash theme={"system"}
squarecloud db create --name my-db --memory 1024 --type postgres --version 17
```

```bash Output theme={"system"}
✓ Database my-db (<dbID>) created successfully
Save the password now: it is shown only once and cannot be recovered.
  PASSWORD: <password>
  URL: <connection URL>
```

<Warning>
  La password viene mostrata una sola volta. `db info` non la mostra di nuovo; se la perdi, ruotala con [`db credentials reset password`](#squarecloud-db-credentials-reset).
</Warning>

Con `--json`, stampa il database creato, inclusi password e URL di connessione, in formato JSON.

## `squarecloud db list`

```bash Utilizzo theme={"system"}
squarecloud db list [--json]
```

Stampa nome, ID, motore, memoria e cluster di ogni database del tuo account.

## `squarecloud db info`

```bash Utilizzo theme={"system"}
squarecloud db info [dbID] [--json]
```

Mostra ID del database, nome, motore, memoria, porta, cluster, proprietario e data di creazione.

## `squarecloud db update`

```bash Utilizzo theme={"system"}
squarecloud db update [dbID] [--name <name>] [--memory <MB>]
```

| Flag | Descrizione |
| - | - |
| `--name <name>` | Nuovo nome del database. |
| `--memory <MB>` | Nuova memoria allocata in MB. |

Rinomina il database o ne cambia la memoria. Passa almeno uno dei due flag: senza di essi, il comando stampa il proprio aiuto.

```bash theme={"system"}
squarecloud db update <dbID> --memory 2048
```

## `squarecloud db start`

```bash Utilizzo theme={"system"}
squarecloud db start [dbID]
```

Avvia un database arrestato. Se è già in esecuzione, la CLI lo segnala (`It is already running.`) e termina con codice 0.

## `squarecloud db stop`

```bash Utilizzo theme={"system"}
squarecloud db stop [dbID]
```

Arresta un database in esecuzione. Se è già arrestato, la CLI lo segnala (`It is already stopped.`) e termina con codice 0.

## `squarecloud db status`

```bash Utilizzo theme={"system"}
squarecloud db status [dbID] [--all] [--raw] [--json]
```

| Flag | Descrizione |
| - | - |
| `--all` | Mostra tutti i database invece di uno solo: ID del database, se è in esecuzione, CPU e memoria. |
| `--raw` | Stampa le statistiche numeriche grezze come JSON invece della tabella. |

Stampa ID del database, utilizzo di CPU, memoria, disco e stato.

## `squarecloud db metrics`

```bash Utilizzo theme={"system"}
squarecloud db metrics [dbID] [--json]
```

Stampa le ultime 24 ore di utilizzo di CPU, utilizzo di RAM e traffico di rete del database, una riga per ogni punto dati da 5 minuti.

## `squarecloud db credentials certificate`

```bash Utilizzo theme={"system"}
squarecloud db credentials certificate [dbID]
```

Stampa il certificato TLS del database, che i client usano per connettersi tramite TLS.

```bash theme={"system"}
squarecloud db credentials certificate <dbID> > certificate.pem
# Salva il certificato in un file.
```

## `squarecloud db credentials reset`

```bash Utilizzo theme={"system"}
squarecloud db credentials reset <password|certificate> [dbID] [-y]
```

| Flag | Descrizione |
| - | - |
| `-y`, `--yes` | Salta la richiesta di conferma. |

Ruota la password o il certificato TLS, dopo una conferma `y/N`. Quello vecchio smette di funzionare immediatamente, quindi aggiorna ogni client che lo usa. Una nuova password viene stampata una sola volta; dopo aver ruotato il certificato, ottieni quello nuovo con `db credentials certificate`.

```bash theme={"system"}
squarecloud db credentials reset password <dbID>
```

## `squarecloud db delete`

```bash Utilizzo theme={"system"}
squarecloud db delete [dbID] [-y]
```

| Flag | Descrizione |
| - | - |
| `-y`, `--yes` | Salta la richiesta di conferma. |

<Warning>
  L'eliminazione di un database è definitiva. Per conservare una copia dei dati, esegui prima [`squarecloud db snapshot create --download`](/it/cli-reference/snapshots#squarecloud-db-snapshot-create).
</Warning>

Prima di eliminare chiede `Delete the database <dbID>? This action is irreversible [y/N]`.

## Correlati

| Comando | API | SDK JavaScript | VS Code |
| - | - | - | - |
| `create` | [`POST /v2/databases`](/it/api-reference/endpoint/databases/create) | [`api.databases.create()`](/it/sdks/js/databases) | [Crea database](/it/vscode-extension/features#database) |
| `list` | [`GET /v2/users/me`](/it/api-reference/endpoint/users/me) | [`api.account.me()`](/it/sdks/js/client) | [Sezione Database](/it/vscode-extension/features#database) |
| `info` | [`GET .../{database_id}`](/it/api-reference/endpoint/databases/info) | [`api.databases.get()`](/it/sdks/js/databases) | |
| `update` | [`PATCH .../{database_id}`](/it/api-reference/endpoint/databases/edit) | [`api.databases.update()`](/it/sdks/js/databases) | |
| `start` | [`POST .../start`](/it/api-reference/endpoint/databases/start) | [`api.databases.start()`](/it/sdks/js/databases) | [Avvia database](/it/vscode-extension/features#database) |
| `stop` | [`POST .../stop`](/it/api-reference/endpoint/databases/stop) | [`api.databases.stop()`](/it/sdks/js/databases) | [Arresta database](/it/vscode-extension/features#database) |
| `status` | [`GET .../status`](/it/api-reference/endpoint/databases/status) | [`api.databases.status()`](/it/sdks/js/databases) | |
| `status --all` | [`GET /v2/databases/status`](/it/api-reference/endpoint/databases/status-all) | [`api.databases.statusAll()`](/it/sdks/js/databases) | |
| `metrics` | [`GET .../metrics`](/it/api-reference/endpoint/databases/metrics) | [`api.databases.metrics()`](/it/sdks/js/databases) | |
| `credentials certificate` | [`GET .../credentials/certificate`](/it/api-reference/endpoint/databases/credentials/get_certificate) | [`api.databases.certificate()`](/it/sdks/js/databases) | [Scarica certificato TLS](/it/vscode-extension/features#database) |
| `credentials reset` | [`POST .../credentials/reset`](/it/api-reference/endpoint/databases/credentials/reset) | [`api.databases.resetCredentials()`](/it/sdks/js/databases) | |
| `delete` | [`DELETE .../{database_id}`](/it/api-reference/endpoint/databases/delete) | [`api.databases.delete()`](/it/sdks/js/databases) | [Elimina database](/it/vscode-extension/features#database) |

Gli snapshot dei database sono in [Snapshot](/it/cli-reference/snapshots#squarecloud-db-snapshot-create).
