# PostgreSQL Externo
Para configurar o ServiceDesk Plus com um banco de dados PostgreSQL externo, configure um servidor PostgreSQL externo e conecte-o ao ServiceDesk Plus.
> **Nota:** Use Linux para o servidor PostgreSQL externo (recomendado).
Para mais informações sobre a instalação do PostgreSQL, clique [aqui](https://www.postgresql.org/download/linux/).
## Versões Suportadas
| ServiceDesk Plus | PostgreSQL |
|---|---|
| 14300 a 14600 | 11.17 |
| 14610 a 14830 | 15.2 |
| 14840 a 15140 | 15.10, 15.8 |
| 15150 e posteriores | 15.14 |
## Requisitos de Sistema do Banco de Dados PostgreSQL
| Processador | RAM | Disco Rígido |
|---|---|---|
| 3.0 GHz
30MB de cache L3
12 núcleos | 32 GB | 1 TB |
## Configurar o Servidor PostgreSQL
**Etapa 1**: Inicie o servidor PostgreSQL externo e conecte-se ao console do PostgreSQL.
**Etapa 2**: Crie um usuário e faça login como esse usuário.
a. Crie um usuário:
```sql
CREATE USER WITH CREATEDB LOGIN REPLICATION ENCRYPTED PASSWORD '';
```
Exemplo:
```sql
CREATE USER sdpadmin WITH CREATEDB LOGIN REPLICATION ENCRYPTED PASSWORD 'password';
```
b. Saia:
```
\q
```
c. Faça login novamente como um novo usuário:
```
psql -h -p -d postgres -U
```
d. Liste todas as funções e usuários:
```
\du
```
**Etapa 3**: Crie um banco de dados.
1. Crie um novo banco de dados:
```sql
CREATE DATABASE WITH OWNER = ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C' TEMPLATE = template0;
```
2. Navegue até o novo banco de dados:
```
\c
```
3. Liste todos os bancos de dados:
```
\l
```
**Etapa 4**: Criar extensões
a. Execute os seguintes comandos para criar uma extensão:
```sql
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS citext;
```
b. Verifique as extensões:
```
\dx
```
**Etapa 5**: Configure o endereço IP.
> Se a aplicação e o servidor PostgreSQL estiverem hospedados em máquinas diferentes, configure o endereço da máquina onde a aplicação está hospedada.
- Edite o `pg_hba.conf` e adicione uma linha host para habilitar conexões.
```
host all all XX.XX.XX.XX/XX md5
```
> **Aviso:** Evite usar `0.0.0.0/0`, pois isso permite acesso de todas as máquinas.

**Etapa 6**: Edite o arquivo `postgresql.conf` e adicione o seguinte comando ao final do arquivo:
```
listen_addresses = ''
```
> **Aviso:** Usar `*` pode representar um risco de segurança, pois escutará em todas as interfaces IP.
**Etapa 7**: Reinicie o servidor PostgreSQL.
Conecte o servidor PostgreSQL ao ServiceDesk Plus:
1. Vá para o diretório `/bin` e execute o seguinte comando:
- Linux: `changeDBServer.sh`
- Windows: `changeDBServer.bat`
2. Configure o host, banco de dados, porta, nome de usuário e senha.
3. Vá para o diretório `/conf/` e modifique `customer-config.xml`:
- Defina `StartDBServer` como `"false"`.
4. Inicie a aplicação.
## Etapas para Melhorar o Desempenho do Servidor PostgreSQL
1. Vá para o arquivo `postgresql.conf`.
2. Defina o valor das propriedades conforme sugerido:
```
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 256MB
work_mem = 48MB
wal_buffers = 16MB
```