# Addons Geridos: Postgres e Redis

Source: https://support.kapsulehost.com/pt-pt/site-addons

O separador Addons permite associar uma base de dados PostgreSQL gerida ou uma instância Redis gerida a um site sem ter de construir ou manter um servidor para o efeito. A KapsuleHost provisiona-o, fornece-lhe uma cadeia de ligação, e desativa-o de forma limpa quando o remove.

## Onde Estão os Addons

Abra **Websites**, clique no site, abra o grupo **Aplicações** no menu esquerdo do site, e escolha **Extras**. A página tem o título **Add-ons geridos**.

Existem duas opções no catálogo:

| Addon | Utilização típica |
|---|---|
| PostgreSQL | O arquivo de dados principal para uma aplicação que não usa MySQL |
| Redis | Cache, armazenamento de sessões e filas de tarefas em segundo plano |

Estes são distintos da base de dados MySQL que vem incluída com um site de alojamento padrão. Essa encontra-se no separador **Base de dados** e não necessita de provisionamento: consulte [Ligar à Sua Base de Dados Através de um Túnel SSH](https://support.kapsulehost.com/pt-pt/database-ssh-tunnel).

![Página de add-ons geridos para um site no KPanel](https://support.kapsulehost.com/help/screenshots/site-addons.3f3b5ee3.webp)

## Solicitar um Addon

1. Encontre o addon na secção **Adicionar uma base de dados gerida**.
2. Clique em **Adicionar ao site**.

O pedido é registado de imediato e o addon aparece em **Os seus add-ons** com um distintivo **PENDING** e a nota *À espera do provisionador*. A página atualiza-se automaticamente a cada quinze segundos, por isso pode deixá-la aberta.

Uma tarefa em segundo plano processa os pedidos pendentes a cada poucos minutos, cria uma base de dados dedicada e um utilizador dedicado para o seu site, e grava uma cadeia de ligação encriptada. O estado passa então a **ACTIVE**.

> **Note:** Solicitar ou remover um addon requer a permissão **sites:write**. Os membros da equipa com acesso apenas de leitura conseguem ver quais os addons existentes e o seu estado, mas os botões ficam ocultos.

### Um De Cada, Por Site

Um site pode ter um addon PostgreSQL e um addon Redis. Pedir um segundo do mesmo tipo é recusado com uma mensagem a indicar que já está provisionado, e o catálogo oculta uma opção assim que esta é instalada. Quando ambos estão instalados, a secção do catálogo mostra **All available addons are installed**.

## Interpretar o Estado

| Estado | Significado |
|---|---|
| PENDING | Solicitado, em fila para o provisionador |
| PROVISIONING | A ser criado neste momento |
| ACTIVE | Pronto a usar |
| FAILED | O provisionamento não foi concluído; o motivo é apresentado na linha |
| DELETED | Removido, deixou de estar listado |

Uma linha **FAILED** mostra o texto do erro real por baixo, em vez de uma mensagem genérica. Se o motivo não for algo sobre o qual possa agir, cite-o literalmente num pedido de suporte: consulte [Abrir um Pedido de Suporte](https://support.kapsulehost.com/pt-pt/opening-a-support-ticket).

## Obter a Cadeia de Ligação

Assim que um addon está **ACTIVE**, a sua linha mostra uma cadeia de ligação mascarada, com a palavra-passe substituída por pontos, para que possa confirmar o anfitrião e o nome da base de dados rapidamente sem expor a credencial.

Clique em **Copiar ligação** para colocar a cadeia de ligação completa na sua área de transferência. Esta é desencriptada do lado do servidor apenas para esse pedido e nunca é impressa na página, pelo que partilhas de ecrã e capturas de ecrã não a divulgam. Cada revelação é registada no registo de auditoria do site e aparece no [Registo de Atividade do Site](https://support.kapsulehost.com/pt-pt/site-activity-log).

A cadeia segue o formato de URL habitual para cada motor, contendo o anfitrião, a porta, o utilizador, a palavra-passe e o nome da base de dados criados para este site.

## Utilizá-la na Sua Aplicação

Cole a cadeia de ligação onde quer que a sua aplicação leia a sua configuração. Num site Node.js, o lugar certo é o separador [Secrets](https://support.kapsulehost.com/pt-pt/site-secrets), sob uma chave como `DATABASE_URL` ou `REDIS_URL`, no ambiente **production**.

> **Warning:** Não codifique a cadeia de ligação diretamente num ficheiro que envie para o repositório. Contém uma palavra-passe ativa. Se chegar a um repositório git remoto, tem de ser tratada como comprometida, e a única solução real é eliminar o addon e solicitar um novo, porque a credencial não pode ser substituída diretamente a partir do painel.

## Remover um Addon

Clique em **Delete** na linha. O KPanel pede-lhe confirmação e é direto quanto ao que acontece: isto remove a base de dados gerida, e os dados não são recuperáveis.

A linha é marcada como eliminada de imediato e o provisionador desativa a base de dados e o utilizador subjacentes na passagem seguinte. As ligações existentes são terminadas como parte desse processo.

> **Important:** Não é feita qualquer cópia de segurança de um addon gerido no momento da eliminação, nem existe forma de anular a ação. Se houver algo que queira guardar, exporte-o primeiro com `pg_dump` ou `redis-cli --rdb` enquanto o addon ainda está ativo e a cadeia de ligação ainda funciona.

## Escolher Entre as Opções

**Use o PostgreSQL** quando a sua aplicação necessita de uma base de dados relacional e está escrita para Postgres: restrições rigorosas, transações, colunas JSON e pesquisa de texto integral que, de outra forma, teria de implementar à parte.

**Use o Redis** para coisas que podem desaparecer sem problema: fragmentos em cache, contadores de limite de taxa, armazenamento de sessões e filas de tarefas. Trate-o como algo rápido e volátil, não como um registo de sistema.

**Use a base de dados MySQL incluída** para o WordPress e para tudo o que já esteja escrito para MySQL. Adicionar um addon Postgres a um site WordPress não serve de nada, porque o WordPress não consegue comunicar com ele.

## Resolução de Problemas

**O addon está PENDING há muito tempo.** O provisionador funciona segundo um horário, não instantaneamente. Deixe a página aberta, já que se atualiza automaticamente, e verifique mais tarde. Se não tiver avançado ao fim de várias passagens, abra um pedido de suporte com o domínio do site e o tipo de addon.

**O provisionamento FAILED.** Leia o erro na linha. Elimine o addon com falha e solicite-o novamente, o que é seguro: uma linha com falha nunca teve uma base de dados ativa por detrás.

**Copiar ligação não faz nada.** Alguns navegadores bloqueiam a escrita na área de transferência quando o separador não está em foco. Clique primeiro na página, depois clique novamente no botão.

**A aplicação não consegue ligar-se.** Verifique três coisas por ordem: que o estado do addon é **ACTIVE**, que copiou a cadeia em vez de a reescrever manualmente, e que a sua aplicação está a ler o valor que efetivamente definiu, e não um valor desatualizado de uma implementação anterior. Normalmente é necessário reiniciar antes de a nova configuração ser considerada.

**As ligações são recusadas após uma nova implementação.** Confirme se a cadeia de ligação na sua configuração ainda corresponde à apresentada nesta página. Eliminar e voltar a solicitar um addon cria um novo utilizador e uma nova palavra-passe, pelo que uma cadeia antiga deixa de funcionar.

## Para Onde Ir a Seguir

- [Guardar Segredos de Aplicação Para um Site](https://support.kapsulehost.com/pt-pt/site-secrets), o lugar certo para guardar a cadeia de ligação.
- [Ligar à Sua Base de Dados Através de um Túnel SSH](https://support.kapsulehost.com/pt-pt/database-ssh-tunnel) para a base de dados MySQL incluída.
- [Definições do Site](https://support.kapsulehost.com/pt-pt/site-settings) para o restante da configuração ao nível do site.
