> For the complete documentation index, see [llms.txt](https://ajuda.zdg.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.zdg.com.br/avancado-recursos-tecnicos/como-remover-um-tenant-com-erro-de-exclusao-no-super-admin.md).

# Como remover um tenant com erro de exclusão no Super Admin

Em alguns casos, ao tentar apagar um tenant e todos os dados/arquivos relacionados pela opção **Apagar empresa** no painel Super Admin, a exclusão é abortada por faltar referências. Depois dessa primeira falha, novas tentativas pelo painel tendem a gerar o mesmo erro sempre. Este artigo mostra como identificar a causa e concluir a remoção manualmente pelo banco de dados.

{% hint style="info" %}
**Pré-requisitos:**

* Acesso Super Admin na instalação do Z-PRO.
* Acesso ao banco de dados — via PgAdmin ou pelo terminal (veja Banco de dados - Como acessar).
* Alguma familiaridade com SQL — o ChatGPT ajuda bastante na criação das queries.
  {% endhint %}

***

### Como funciona

Pode ter ocorrido algum problema durante o procedimento de exclusão, e a partir daí ele passa a abortar por faltar referências — ou seja, ainda existem registros em outras tabelas do banco apontando para esse tenant, e o painel não consegue apagar a empresa enquanto essas referências existirem.

{% hint style="warning" %}
O suporte da ZDG **não acessa a base de dados da sua instalação**, e essa correção é por conta do assinante. Veja [Manutenção e Segurança.](/diretrizes-e-politicas/manutencao-e-seguranca.md)
{% endhint %}

***

### Etapa 1: Descarte erro de versão

Antes de tentar pela base de dados, garanta que não seja um erro de versão:

1. Atualize a instalação do Z-PRO.
2. Tente apagar o tenant novamente pelo painel Super Admin (**Apagar empresa**).

Se não for o caso — ou seja, o erro persistir mesmo atualizado — siga para a Etapa 2.

***

### Etapa 2: Crie um snapshot antes de qualquer ação

{% hint style="danger" %}
Crie um snapshot antes de qualquer ação, e siga a orientação abaixo sob sua responsabilidade.
{% endhint %}

***

### Etapa 3: Teste a remoção pela base e siga o erro

Teste removendo a partir da base de dados o tenant. Ao removê-la, deve gerar erro — e no próprio erro está a resposta: é preciso remover antes uma outra entrada, em outra tabela da base de dados, para então liberar a remoção da que estiver atrelada. É necessário remover um registro após o outro.

#### Exemplo de exclusão em cascata

Sugestão de como seria a exclusão em cascata necessária para remover manualmente uma tenant com erro de exclusão. No exemplo abaixo, apagamos todos os registros relacionados ao tenant `17`. A ordem importa: os `Tickets` dependem de `Contacts` e `Users`, então é preciso apagar o que é dependência antes do registro principal.

```sql
-- 1. Tickets
DELETE FROM public."Tickets"
WHERE "tenantId" = 17;

-- 2. Queues
DELETE FROM public."Queues"
WHERE "tenantId" = 17;

-- 3. Users
DELETE FROM public."Users"
WHERE "tenantId" = 17;

-- 4. Contacts
DELETE FROM public."Contacts"
WHERE "tenantId" = 17;
```

**Etapa 2 — Apagar os registros**

Se realmente forem fluxos antigos e puderem ser removidos:

```sql
DELETE FROM public."ChatFlow"
WHERE "tenantId" = 17;
```

Depois de resolver as dependências indicadas pelos erros, tente excluir o tenant novamente — pelo painel Super Admin (**Apagar empresa**) ou diretamente na tabela de tenants do banco de dados.

***

### Resumo das Funcionalidades

| Ação                                | Onde acessar                                                                              |
| ----------------------------------- | ----------------------------------------------------------------------------------------- |
| Apagar tenant (caminho padrão)      | Super Admin > Tenants e Licenciamento > Tenants > menu ⋮ > **Apagar empresa**             |
| Calcular espaço ocupado pelo tenant | Super Admin > Tenants e Licenciamento > Tenants > menu ⋮ > **Calcular tamanho dos dados** |
| Acessar o banco de dados            | PgAdmin ou terminal — ver Banco de dados - Como acessar                                   |

***

### Encerramento

Resolvendo as dependências indicadas pelos próprios erros, a exclusão do tenant é concluída, liberando os dados, arquivos e o espaço em disco associados a ele. Se precisar de ajuda de um profissional, abra um chamado pedindo indicação.

***

### Possíveis Erros e Soluções

#### Exclusão abortada por faltar referências

**Causa:** ainda existem registros em outra tabela do banco apontando para esse tenant. **Solução:** identifique a tabela pelo próprio erro, apague os registros dela filtrando por `tenantId` e tente excluir o tenant de novo — um registro após o outro.

#### Erro persiste mesmo depois de atualizar o Z-PRO

**Causa:** não é um erro de versão — são referências de dados que precisam ser limpas manualmente. **Solução:** siga o procedimento manual pela base de dados (Etapas 2 e 3).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ajuda.zdg.com.br/avancado-recursos-tecnicos/como-remover-um-tenant-com-erro-de-exclusao-no-super-admin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
