# PostgreSQL externo
Para configurar ServiceDesk Plus con una base de datos PostgreSQL externa, configure un servidor PostgreSQL externo y conéctelo a ServiceDesk Plus.
> Utilice Linux para el servidor PostgreSQL externo (recomendado).
Para obtener más información sobre la instalación de PostgreSQL, haga clic [aquí](https://www.postgresql.org/download/linux/).
## Versiones compatibles
| ServiceDesk Plus | PostgreSQL |
|---|---|
| 14300 a 14600 | 11.17 |
| 14610 a 14830 | 15.2 |
| 14840 a 15140 | 15.10, 15.8 |
| 15150 y posteriores | 15.14 |
## Requisitos del sistema para la base de datos PostgreSQL
| Procesador | RAM | Disco duro |
|---|---|---|
| 3.0 GHz
30MB de caché L3
12 núcleos | 32 GB | 1 TB |
## Configurar el servidor PostgreSQL
**Paso 1**: Inicie el servidor PostgreSQL externo y conéctese a la consola de PostgreSQL.
**Paso 2**: Cree un usuario e inicie sesión como ese usuario.
a. Cree un usuario:
```sql
CREATE USER WITH CREATEDB LOGIN REPLICATION ENCRYPTED PASSWORD '';
```
Ejemplo:
```
CREATE USER sdpadmin WITH CREATEDB LOGIN REPLICATION ENCRYPTED PASSWORD 'password';
```
b. Cierre sesión:
```
\q
```
c. Inicie sesión nuevamente como un usuario nuevo:
```
psql -h -p -d postgres -U
```
d. Enumere todos los roles y usuarios:
```
\du
```
**Paso 3**: Cree una base de datos.
1. Cree una nueva base de datos:
```sql
CREATE DATABASE WITH OWNER = ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C' TEMPLATE = template0;
```
2. Vaya a la nueva base de datos:
```
\c
```
3. Enumere todas las bases de datos:
```
\l
```
**Paso 4**: Crear extensiones
a. Ejecute los siguientes comandos para crear una extensión.
```sql
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS citext;
```
b. Verifique las extensiones:
```
\dx
```
**Paso 5**: Configure la dirección IP.
> Si la aplicación y el servidor PostgreSQL están alojados en máquinas diferentes, configure la dirección de la máquina donde está alojada la aplicación.
- Edite `pg_hba.conf` y agregue una fila `host` para habilitar las conexiones.
```
host all all XX.XX.XX.XX/XX md5
```
> Advertencia: Evite usar `0.0.0.0/0`, ya que permite el acceso desde todas las máquinas.

**Paso 6**: Edite el archivo `postgresql.conf` y agregue el siguiente comando al final del archivo:
```
listen_addresses = ''
```
> Advertencia: Usar `*` puede representar un riesgo de seguridad, ya que escuchará todas las interfaces IP.
Paso 7: Reinicie el servidor PostgreSQL.
Conectar el servidor PostgreSQL con ServiceDesk Plus
1. Vaya al directorio `/bin` y ejecute el siguiente comando:
- Linux: `changeDBServer.sh`
- Windows: `changeDBServer.bat`
2. Configure el host, la base de datos, el puerto, el nombre de usuario y la contraseña.
3. Vaya al directorio `/conf/` y modifique `customer-config.xml`:
- Establezca `StartDBServer` en "false".
4. Inicie la aplicación.
## Pasos para mejorar el rendimiento del servidor PostgreSQL
1. Vaya al archivo `postgresql.conf`.
2. Establezca el valor de las propiedades según se sugiere:
```
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 256MB
work_mem = 48MB
wal_buffers = 16MB
```