Sites
Complementos Gerenciados: Postgres e Redis
The Addons tab lets you attach a managed PostgreSQL database or a managed Redis instance to a site without building or maintaining a server for it. Kapsule provisions it, gives you a connection…
O separador Addons permite-lhe associar uma base de dados PostgreSQL gerida ou uma instância Redis gerida a um site sem construir ou manter um servidor para isso. A Kapsule aprovisiona-a, fornece-lhe uma cadeia de ligação e remove-a de forma limpa quando a elimina.
Onde Vivem os Addons
Abra Websites, clique no site, abra o menu Settings na fita do separador do site e escolha Addons. A página tem o título Managed addons.
Existem duas opções no catálogo:
| Addon | Utilização típica |
|---|---|
| PostgreSQL | O armazenamento de dados principal para uma aplicação que não utiliza MySQL |
| Redis | Colocação em cache, armazenamento de sessão e filas de tarefas em segundo plano |
Estes são separados da base de dados MySQL que vem com um site de alojamento padrão. Esse encontra-se no separador Files, depois Database e não necessita de aprovisionamento: veja Connecting To Your Database Over an SSH Tunnel.

Solicitação de um Addon
- Encontre o addon na secção Add a managed database.
- Clique em Add to site.
O pedido é registado imediatamente e o addon aparece em Your addons com um crachá PENDING e a nota Waiting for provisioner. A página atualiza-se a si mesma a cada quinze segundos, pelo que pode deixá-la aberta.
Uma tarefa em segundo plano apanha pedidos pendentes a cada alguns minutos, cria uma base de dados dedicada e um utilizador dedicado para o seu site, e escreve uma cadeia de ligação encriptada. O estado muda então para ACTIVE.
Solicitar ou remover um addon necessita da permissão sites:write. Os membros da equipa de leitura podem ver quais os addons que existem e o seu estado, mas os botões estão ocultos.
Um De Cada, Por Site
Um site pode conter um addon PostgreSQL e um addon Redis. Pedir um segundo do mesmo tipo é recusado com uma mensagem a indicar que já está aprovisionado, e o catálogo oculta uma opção assim que está instalado. Quando ambos estão instalados, a secção do catálogo lê All available addons are installed.
Leitura do Estado
| Estado | Significado |
|---|---|
| PENDING | Solicitado, em fila para o aprovisionador |
| PROVISIONING | A ser criado neste momento |
| ACTIVE | Pronto a usar |
| FAILED | O aprovisionamento não foi concluído; a razão é mostrada na linha |
| DELETED | Removido, já não está listado |
Uma linha FAILED mostra o texto de erro real abaixo dela em vez de uma mensagem genérica. Se a razão não for algo em que possa agir, cite-a textualmente num pedido de suporte: veja Opening a Support Ticket.
Obter a Cadeia de Ligação
Assim que um addon estiver 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 à primeira vista sem expor a credencial.
Clique em Copy connection para colocar a cadeia de ligação completa na sua área de transferência. É desencriptada no lado do servidor para esse único pedido e nunca é impressa na página, pelo que as partilhas de ecrã e as capturas de ecrã não a vazam. Todas as revelações são escritas no registo de auditoria do site e aparecem no Site Activity Log.
A cadeia está na forma de URL habitual para cada motor, transportando o anfitrião, porta, utilizador, palavra-passe e nome da base de dados que foram criados para este site.
Utilizá-la na Sua Aplicação
Cole a cadeia de ligação em qualquer lugar onde a sua aplicação leia a sua configuração. Num site Node.js, o local correto para isso é o separador Secrets, sob uma chave como DATABASE_URL ou REDIS_URL, no ambiente production.
Não coloque em código a cadeia de ligação num ficheiro que confirme. Contém uma palavra-passe em direto. Se chegar a um remoto git, tem de ser tratada como vazada, e a única correcção real é eliminar o addon e solicitar um novo, porque a credencial não pode ser rotacionada no local a partir do painel.
Remoção de um Addon
Clique em Delete na linha. O KPanel pede-lhe confirmação e é franco sobre o que acontece: isto remove a base de dados gerida, e os dados não podem ser recuperados.
A linha é marcada como eliminada imediatamente e o aprovisionador remove a base de dados e o utilizador subjacentes na sua próxima passagem. As ligações existentes são terminadas como parte dessa remoção.
Não é feita uma cópia de segurança de um addon gerido após a eliminação, e não há desfazer. Se houver algo nele que queira guardar, despeje-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 PostgreSQL quando a sua aplicação necessita de uma base de dados relacional e foi escrita contra Postgres: restrições fortes, transações, colunas JSON e pesquisa de texto completo que de outro modo teria de adicionar.
Use Redis para coisas que se permite desaparecerem: fragmentos em cache, contadores de limite de taxa, armazenamento de sessão e filas de tarefas. Trate-o como rápido e volátil, não como um sistema de registo.
Use a base de dados MySQL incorporada para WordPress e para qualquer coisa já escrita contra MySQL. Adicionar um addon Postgres a um site WordPress não faz nada útil, porque WordPress não pode comunicar com ele.
Resolução de Problemas
O addon está PENDING há muito tempo. O aprovisionador funciona num calendário em vez de instantaneamente. Deixe a página aberta, já que se atualiza a si mesma, e volte a verificar. Se não se tiver movido após algumas passagens, abra um pedido de suporte com o domínio do site e o tipo de addon.
O aprovisionamento FAILED. Leia o erro na linha. Elimine o addon falhado e solicite-o novamente, o que é seguro: uma linha falhada nunca teve uma base de dados ativa atrás dela.
Copy connection não faz nada. Alguns navegadores bloqueiam escritas na área de transferência quando o separador não tem foco. Clique primeiro na página e depois clique novamente no botão.
A aplicação não consegue conectar. Verifique três coisas por ordem: que o estado do addon é ACTIVE, que copiou a cadeia em vez de a digitar novamente, e que a sua aplicação está a ler o valor que realmente definiu em vez de um obsoleto de uma implementação anterior. Geralmente é necessário um reinício antes de a nova configuração ser utilizada.
As ligações são recusadas após uma reimplementação. Confirme que a cadeia de ligação na sua configuração ainda corresponde à desta página. Eliminar e solicitar novamente um addon cria um novo utilizador e uma nova palavra-passe, pelo que uma cadeia antiga não funcionará.
Por Onde Continuar
- Storing App Secrets For a Site, o local correto para manter a cadeia de ligação.
- Connecting To Your Database Over an SSH Tunnel para a base de dados MySQL incorporada.
- Site Settings para o resto da configuração ao nível do site.