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

# Crie e conecte um banco de dados gerenciado

> Banco de dados gerenciado na Square Cloud: crie um PostgreSQL, MongoDB, MySQL ou Redis, obtenha a connection string e o certificado TLS e conecte pelo código.

## Introdução

Este tutorial leva você do zero a um banco de dados ativo e conectado em poucos minutos: crie a instância pelo dashboard, obtenha sua connection string e conecte-se a ela a partir do seu próprio código.

### Pré-requisitos

* **Conta na Square Cloud**: Crie sua conta pela [página de cadastro](https://squarecloud.app/pt-br/signup).
* **Plano Standard ativo ou superior**: Bancos de dados gerenciados exigem um **plano Standard ativo ou superior**. Confira os [planos disponíveis](/pt-br/platform/plans) e escolha o que se encaixa na sua carga de trabalho.

## Passo 1: Escolha um engine

A Square Cloud oferece quatro engines de banco de dados gerenciados, já configurados para conectar e começar a usar:

| Engine | Versão |
| :-: | :-: |
| PostgreSQL | 17 |
| MongoDB | 8 |
| MySQL | 9 |
| Redis | 8 |

Este tutorial usa **PostgreSQL**, mas o mesmo fluxo do dashboard se aplica a todos os engines acima.

## Passo 2: Crie o banco de dados

<Steps>
  <Step title="Crie uma nova instância de banco de dados">
    Acesse a página de [Bancos de Dados](https://squarecloud.app/pt-br/dashboard/databases) e clique no botão "Criar Banco de Dados".
  </Step>

  <Step title="Configurando sua instância de banco de dados">
    Selecione **PostgreSQL** (ou o engine escolhido no Passo 1) e preencha as informações necessárias, como nome do banco e RAM.
  </Step>

  <Step title="Finalize a criação da instância">
    Clique no botão "Criar" e aguarde a criação do banco de dados.
  </Step>
</Steps>

## Passo 3: Obtenha a connection string

Assim que seu banco de dados estiver pronto, abra-o pela página de [Bancos de Dados](https://squarecloud.app/pt-br/dashboard/databases). Os detalhes de conexão (host, porta, usuário, senha e URL de conexão) são exibidos no dashboard da instância, junto com o certificado TLS que você precisará para se conectar.

<Note>Os bancos de dados da Square Cloud só aceitam conexões SSL/TLS. Veja [como me conectar ao meu banco de dados](/pt-br/services/databases#como-me-conectar-ao-meu-banco-de-dados) para como o certificado é usado por diferentes clientes.</Note>

## Passo 4: Conecte a partir do seu código

Com a connection string em mãos, conecte-se usando o cliente PostgreSQL da sua linguagem.

<Tabs>
  <Tab title="Node.js">
    Instale o pacote [`pg`](https://www.npmjs.com/package/pg) e ative os módulos ES, que o exemplo abaixo usa (`import` e `await` no nível superior):

    ```bash theme={"system"}
    npm install pg
    npm pkg set type=module
    ```

    Conecte e verifique com uma query simples:

    ```javascript index.js theme={"system"}
    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">
    Instale o [`psycopg2`](https://pypi.org/project/psycopg2-binary/):

    ```bash theme={"system"}
    pip install psycopg2-binary
    ```

    Conecte e verifique com uma query simples:

    ```python main.py theme={"system"}
    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 a query retornar um resultado em vez de lançar um erro de conexão, sua aplicação está se comunicando com o banco de dados com sucesso.

<Warning>Nunca fixe a connection string diretamente no código-fonte. Defina-a como uma variável de ambiente (`DATABASE_URL`) nas Variáveis de Ambiente da sua aplicação no dashboard, ou com o comando da CLI `squarecloud app env set "DATABASE_URL=<connection-url>" --app <appID>` (veja [variáveis de ambiente na CLI](/pt-br/cli-reference/environment-variables#squarecloud-app-env-set)), para que as credenciais nunca acabem no seu repositório. Depois, reinicie a aplicação: ela lê as variáveis de ambiente quando inicia. Veja [Variáveis de ambiente](/pt-br/platform/environment-variables).</Warning>

Mantenha o `certificate.pem` no ZIP da sua aplicação, já que o código o lê do disco, mas fora de qualquer repositório público.

## Próximos passos

Agora você tem um banco de dados gerenciado rodando e acessível a partir do seu código. A partir daqui:

<CardGroup cols={3}>
  <Card title="Faça o deploy de um app para usá-lo" icon="server" href="/pt-br/tutorials/how-to-deploy-your-website">
    Hospede a aplicação que se conecta a este banco de dados na Square Cloud.
  </Card>

  <Card title="Erros de conexão com o banco" icon="triangle-exclamation" href="/pt-br/platform/troubleshooting/database-connection-errors">
    Corrija erros de SSL/TLS, timeout e acesso.
  </Card>

  <Card title="Snapshots" icon="camera" href="/pt-br/cli-reference/snapshots#squarecloud-db-snapshot-create">
    Crie e restaure snapshots de banco de dados pela CLI.
  </Card>
</CardGroup>

## Contate-nos

Se você continuar enfrentando **dificuldades técnicas**, nossa **equipe de suporte especializada** está disponível para auxiliá-lo. [**Entre em contato conosco**](https://squarecloud.app/pt-br/support) e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com [**4,9/5 em 402 avaliações**](https://www.trustpilot.com/review/squarecloud.app) no Google e Trustpilot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.