> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airys.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Como migrar o banco de dados do AirysChat?

> Aprenda a migrar seu banco de dados do AirysChat do PostgreSQL empacotado para serviços de banco de dados gerenciados, como o AWS RDS

## Migração do banco de dados do AirysChat

Acompanhe se você começou com uma instalação empacotada do postgres, redis e airyschat em uma única instância e agora deseja migrar para um serviço de banco de dados gerenciado.

Neste guia, assumimos que você deseja migrar para o AWS RDS. Este guia deve ser igualmente aplicável a qualquer outro serviço de banco de dados gerenciado ou até mesmo à migração de dados entre diferentes instalações do AirysChat.

### Etapa 1: Parar o serviço do AirysChat

Pare o serviço do AirysChat para interromper a atividade do banco de dados.

```bash theme={null}
sudo systemctl stop airyschat.target
```

### Etapa 2: Fazer backup do banco de dados

Faça o backup do banco de dados usando a ferramenta `pg_dump`.

```bash theme={null}
pg_dump -Fc --no-acl --no-owner  -U postgres airyschat_production > /tmp/cw.dump
```

### Etapa 3: Criar instância do RDS

Crie uma instância Postgres do RDS na sua conta AWS. Consulte a [documentação da AWS](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/).

### Etapa 4: Verificar conectividade

Verifique a conectividade com a nova instância do RDS a partir da sua instalação do AirysChat.

```bash theme={null}
psql -h <hostname> -u <username> -d postgres
```

### Etapa 5: Restaurar o banco de dados

Restaure o banco de dados a partir do arquivo de backup.

```bash theme={null}
pg_restore --verbose --clean --no-acl --no-owner --create -U postgres -d postgres /tmp/cw.dump
```

### Etapa 6: Atualizar variáveis de ambiente

Modifique as variáveis de ambiente relacionadas ao Postgres para usar as novas credenciais do RDS.

```bash theme={null}
sudo -i -u airyschat
cd airyschat
vi .env
```

### Etapa 7: Iniciar o serviço do AirysChat

Inicie o serviço do AirysChat.

```bash theme={null}
sudo systemctl start airyschat.target
```

<Note>
  Se você estiver recebendo a tela de integração do AirysChat novamente ao visitar a URL do seu AirysChat auto-hospedado,
  faça login no rails console e execute o seguinte:

  ```bash theme={null}
  sudo cwctl --console
  ::Redis::Alfred.delete(::Redis::Alfred::AIRYSCHAT_INSTALLATION_ONBOARDING)
  ```
</Note>
