> ## 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.

# Come fare il deploy del tuo primo database gestito

> Tutorial passo dopo passo per ospitare un database gestito MongoDB, PostgreSQL, MySQL o Redis su Square Cloud e connetterti da codice della tua applicazione.

## Introduzione

Questo tutorial ti porta da zero a un database live e connesso in pochi minuti: crea l'istanza dalla dashboard, recupera la sua connection string e connettiti da codice tuo.

### Prerequisiti

* **Account Square Cloud**: Crea il tuo account tramite la [pagina di registrazione](https://squarecloud.app/it/signup).
* **Piano Standard o superiore attivo**: I database gestiti richiedono un **piano Standard o superiore attivo**. Consulta i [piani disponibili](/it/platform/plans) e scegli quello adatto al tuo carico di lavoro.

## Passo 1: Scegli un motore

Square Cloud offre quattro motori di database gestiti, già configurati per la connessione e pronti all'uso:

|   Motore   | Versione |
| :--------: | :------: |
| PostgreSQL |  17.x.x  |
|   MongoDB  |   8.x.x  |
|    MySQL   |   9.x.x  |
|    Redis   |   7.4.x  |

Questo tutorial usa **PostgreSQL**, ma lo stesso flusso della dashboard si applica a ogni motore sopra elencato.

## Passo 2: Crea il database

<Steps>
  <Step title="Crea una nuova istanza di database">
    Vai alla pagina [Databases](https://squarecloud.app/it/dashboard/databases) e clicca sul pulsante "Create Database".
  </Step>

  <Step title="Configura la tua istanza di database">
    Seleziona **PostgreSQL** (o il motore scelto al Passo 1) e compila le informazioni richieste, come il nome del database e la RAM.
  </Step>

  <Step title="Completa la creazione dell'istanza">
    Clicca sul pulsante "Create" e attendi che il database venga creato.
  </Step>
</Steps>

## Passo 3: Recupera la connection string

Una volta pronto il tuo database, aprilo dalla pagina [Databases](https://squarecloud.app/it/dashboard/databases). I dettagli di connessione — host, porta, username, password e URL di connessione — sono mostrati nella dashboard del database, insieme al certificato TLS di cui avrai bisogno per connetterti.

<Note>I database di Square Cloud accettano solo connessioni SSL/TLS. Consulta [come mi connetto al mio database](/it/services/databases#come-mi-connetto-al-mio-database) per capire come il certificato viene usato dai diversi client.</Note>

## Passo 4: Connettiti dal tuo codice

Con la connection string a disposizione, connettiti usando il client PostgreSQL del tuo linguaggio.

<Tabs>
  <Tab title="Node.js">
    Installa il pacchetto [`pg`](https://www.npmjs.com/package/pg):

    ```bash theme={null}
    npm install pg
    ```

    Connettiti e verifica con una semplice query:

    ```javascript index.js theme={null}
    import fs from "node:fs";
    import { Client } from "pg";

    const cert = fs.readFileSync("certificate.pem").toString();

    const client = new Client({
      connectionString: process.env.DATABASE_URL, // postgresql://user:password@host:port/dbname
      ssl: { ca: cert, cert: cert, key: cert },
    });

    await client.connect();
    const result = await client.query("SELECT 1");
    console.log("Connected! Result:", result.rows[0]);
    await client.end();
    ```
  </Tab>

  <Tab title="Python">
    Installa [`psycopg2`](https://pypi.org/project/psycopg2-binary/):

    ```bash theme={null}
    pip install psycopg2-binary
    ```

    Connettiti e verifica con una semplice query:

    ```python main.py theme={null}
    import os
    import psycopg2

    conn = psycopg2.connect(
        os.environ["DATABASE_URL"],  # postgresql://user:password@host:port/dbname
        sslmode="verify-ca",
        sslrootcert="certificate.pem",
        sslcert="certificate.pem",
        sslkey="certificate.pem",
    )
    cur = conn.cursor()
    cur.execute("SELECT 1")
    print("Connected! Result:", cur.fetchone())
    cur.close()
    conn.close()
    ```
  </Tab>
</Tabs>

Se la query restituisce un risultato invece di generare un errore di connessione, la tua applicazione sta comunicando correttamente con il database.

<Warning>Non inserire mai la connection string direttamente nel codice sorgente. Impostala come variabile d'ambiente (`DATABASE_URL`) tramite il tuo [file di configurazione](/it/getting-started/config-file) o la dashboard, così le credenziali non finiscono mai nel tuo repository.</Warning>

## Il tuo database è online

Ora hai un database gestito in esecuzione e raggiungibile dal tuo codice. Da qui:

<CardGroup cols={2}>
  <Card title="Fai il deploy di un'app che lo usa" icon="server" href="/it/tutorials/how-to-deploy-your-website">
    Ospita su Square Cloud l'applicazione che si connette a questo database.
  </Card>

  <Card title="Snapshot" icon="camera" href="/it/cli-reference/commands/database/snapshot">
    Crea e ripristina snapshot del database dalla CLI.
  </Card>
</CardGroup>

## Contattaci

Se continui a riscontrare **difficoltà tecniche**, il nostro **team di supporto specializzato** è disponibile ad assisterti. [**Contattaci**](https://squarecloud.app/it/support) e saremo felici di aiutarti a risolvere qualsiasi problema — la qualità del supporto è una parte importante del motivo per cui gli sviluppatori valutano Square Cloud [**4,9/5 su 402 recensioni**](https://www.trustpilot.com/review/squarecloud.app) su Google e Trustpilot.
