---
title: Configuración de la Fuente de Datos y de las Unidades de la Base de Datos
slug: soporte/configuracion-de-la-fuente-de-datos-y-de-las-unidades-de-la-base-de-datos
description: Learn how to set up a database and data source using PostgreSQL with this comprehensive document. From downloading and configuring drivers to creating databases and users, granting permissions, and releasing connections, we cover all aspects. Whether you 
createdAt: 2022-06-26T18:50:01.000Z
---

Antes de crear una fuente de datos, es necesario añadir un módulo de base de datos al sistema. Cada base de datos tiene su propio controlador de conexión, pero todas las configuraciones se basan en el mismo principio: descargar el controlador del fabricante, copiarlo en wildfly y configurarlo en el sistema. Las configuraciones se harán a través de jboss-cli, pero se pueden hacer todas a través de XML en el archivo standalone-full.xml si se desea.

En el ejemplo siguiente utilizaremos el controlador PostgreSQL. Cada base de datos tiene su propio método de configuración. Le recomendamos que consulte la documentación del fabricante de la base de datos de su elección si difiere de nuestra documentación.

La descarga del controlador JDBC de PostgreSQL se puede encontrar en [https://jdbc.postgresql.org](https://jdbc.postgresql.org) en el enlace de descargas. La versión del controlador utilizada por <font color="#ff6900">**4biz** </font>es la **4.1 build 9.3 Build 1104**.

```sh
wget https://jdbc.postgresql.org/download/postgresql-9.3-1104.jdbc41.jar
```

Acceda de nuevo a jboss-cli para añadir el controlador con el siguiente comando (suponiendo que lo haya descargado en la carpeta `/tmp`):

```sh
module add --name=org.postgres --resources=/tmp/postgresql-9.3-1104.jdbc41.jar --dependencies=javax.api,javax.transaction.api
```

Con este comando, el controlador se añadirá automáticamente a la carpeta `/opt/wildfly-12.0.0.Final/modules/org/postgres/main/`

Continúe en CLI y ejecute el siguiente comando para incluir una fuente de datos:

```sh
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource
```

## Creación de la base de datos 4biz

Independientemente de la arquitectura de la base de datos (ya sea instalada en el mismo servidor o por separado), los pasos siguientes se utilizan para crear una base de datos y un usuario para <font color="#ff6900">**4biz**</font>. En el procedimiento, suponemos que  tiene acceso al SGBD. Si no tiene instalado el SGBD, puede encontrar información sobre el procedimiento de instalación directamente en la página [https://www.postgresql.org/download/linux/redhat/](https://www.postgresql.org/download/linux/redhat/).

Acceda a PostgreSQL con el siguiente comando:

```sh
su - postgres
```

Poco después,

```sh
psql
```

A continuación se muestra el retorno de los comandos:

```sh
[root@server /tmp]#  su - postgres
bash-4.2$
bash-4.2$ psql
psql (9.6.15)
Type "help" for help.

postgres=#
```

Cree un usuario y una contraseña para acceder a la base de datos de <font color="#ff6900">**4biz**</font> (sustituya SU\_CONTRASENÃ por una contraseña de su preferencia):

```sh
create user forbizdbuser with password 'SU_CONTRASENÃ';
```

A continuación se muestra el retorno del comando:

```sh
postgres=# create user forbizdbuser with password 'SU_CONTRASENÃ';
CREATE ROLE
postgres=#
```

Cree una base de datos para <font color="#ff6900">**4biz**</font>:

```sh
create database forbiz_db with owner forbizdbuser encoding 'UTF8' tablespace pg_default;
```

A continuación se muestra el retorno del comando:

```sh
postgres=# create database forbiz_db with owner forbizdbuser encoding 'UTF8' tablespace pg_default;
CREATE DATABASE
postgres=#
```

Dé permiso al usuario de <font color="#ff6900">**4biz**</font>:

```sh
alter role forbizdbuser superuser;
```

A continuación se muestra el retorno del comando:

```sh
postgres=# alter role forbizdbuser superuser;
ALTER ROLE
postgres=#
```

Salga del PSQL y del shell del usuario postgres:

```sh
\q
```

Poco después,

```sh
exit
```

Como en la parte de abajo:

```sh
postgres=# \q
bash-4.2$ exit
exit
[root@server /tmp]#
```

Si la base de datos se está ejecutando en el mismo servidor, es necesario liberar la conexión para el usuario <font color="#ff6900">**4biz**</font>. Edite el archivo `/var/lib/pgsql/9.6/data/pg_hba.conf` e incluya la siguiente línea:

```sh
# Database administrative login by Unix domain socket
local   all             postgres                                ident
```

:::hint{type="warning"}
⚠️<u>**Atención**</u>**!**

No cambie la línea `` `local all postgres peer` `` que viene por defecto, incluya la línea anterior justo debajo de esta.
:::

Si la base de datos se está ejecutando en otro servidor, debe liberar la conexión desde Wildfly. Para ello incluya la siguiente línea en el mismo archivo pg\_hba.conf, sustituyéndola por la dirección IP del servidor wildfly:

```sh
host forbiz_db forbizdbuser WILDFLY_IP_ADDRESS/32 md5
```

## Configuración de la fuente de datos para Run2biz

Hay ocho entradas de fuentes de datos para forbiz\_db, cuatro de las cuales son para <font color="#ff6900">**4biz**</font> y cuatro para <font color="#ff6900">**4biz**</font> <font color="#ff6900">**Builder**</font>. El usuario y la contraseña son forbizdbuser y SU\_CONTRASEÑA creados en el paso anterior. Si ha creado un usuario, una contraseña y unos nombres de base de datos diferentes, cámbielos en los comandos siguientes.

Conéctese a jboss-cli y ejecute los siguientes comandos. Para que no se produzca ningún error en la ejecución, ejecute cada comando por separado:

### &#xD;Fuente de datos Run2biz

```sh
/subsystem=datasources/data-source="/jdbc/citsmart":add(jndi-name="java:/jdbc/citsmart",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=blocking-timeout-wait-millis,value=60000)

/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=idle-timeout-minutes,value=5)
```

### Fuente de datos Run2bizFlow

```sh
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":add(jndi-name="java:/jdbc/citsmartFluxo",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=blocking-timeout-wait-millis,value=60000)

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=idle-timeout-minutes,value=5)
```

### Fuente de datos Run2biz\_reports

```sh
/subsystem=datasources/data-source="/jdbc/citsmart_reports":add(jndi-name="java:/jdbc/citsmart_reports",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=blocking-timeout-wait-millis,value=60000)

/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=idle-timeout-minutes,value=5)
```

### Fuente de datos Run2bizBpmEventos

```sh
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":add(jndi-name="java:/jdbc/citsmartBpmEventos",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=blocking-timeout-wait-millis,value=60000)

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=idle-timeout-minutes,value=5)
```

### Fuente de datos Run2biz-builder

```sh
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro":add(jndi-name="java:/env/jdbc/citsmart-neuro",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=blocking-timeout-wait-millis,value=60000)
```

### Fuente de datos Run2biz-builder-app1

```sh
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app1":add(jndi-name="java:/env/jdbc/citsmart-neuro-app1",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=blocking-timeout-wait-millis,value=60000)
```

### Fuente de datos Run2biz-builder-app2

```sh
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app2":add(jndi-name="java:/env/jdbc/citsmart-neuro-app2",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=blocking-timeout-wait-millis,value=60000)
```

### Fuente de datos Run2biz-builder-app3

```sh
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app3":add(jndi-name="java:/env/jdbc/citsmart-neuro-app3",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=min-pool-size,value=10)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=max-pool-size,value=300)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=pool-prefill,value=true)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=flush-strategy,value=FailingConnectionOnly)

/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=blocking-timeout-wait-millis,value=60000)
```

Si se produce un error al crear una fuente de datos, utilice el comando `remove` para eliminarla e inicie de nuevo la creación:

Ejemplo, en el caso siguiente, eliminaremos la fuente de datos Run2biz

```sh
/subsystem=datasources/data-source="/jdbc/citsmart":remove
```

Antes de salir de jboss-cli, ejecute el comando reload para aplicar los cambios y realice una prueba de conexión con la base de datos:

```sh
reload
```

Y haga una prueba de conexión con con la base de datos utilizando los siguientes comandos. Recuerde que el resultado debe ser `"outcome" => "success"`:

```sh
/subsystem=datasources/data-source="/jdbc/citsmart":test-connection-in-pool

/subsystem=datasources/data-source="/jdbc/citsmartFluxo":test-connection-in-pool

/subsystem=datasources/data-source="/jdbc/citsmart_reports":test-connection-in-pool

/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":test-connection-in-pool

/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro":test-connection-in-pool

/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app1":test-connection-in-pool

/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app2":test-connection-in-pool

/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app3":test-connection-in-pool
```

