Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Follow the below instructions to set up PostgreSQL.The following sections describe how to replace the default H2 databases with PostgreSQL:

Table of Contents
maxLevel3minLevel3
styleborder:1
locationtoptypeflat
separatorpipe

Set up the database and login role

1. Install PostgreSQL on your computer.

Image Removed

2. Start the PostgreSQL service.

Image Removed

3. You can create a database and the login role from a GUI using the PGAdminIII tool: http://www.pgadmin.org/download.

4. To connect PGAdminIII to a PostgreSQL database server, locate the server from the object browser, right-click the client, and click Connect. This will show you the databases, tablespaces, and login roles. For example:

Image Removed

5. To create a database, click the Databases entry in the tree (inside the object browser), and click New Database.

Image Removed

6. From the New Database dialog box, give a name to the database (for example, "gregdb") and click OK.

Image Removed

7. To create a login role, click the Login Roles entry in the tree (inside the object browser), and click New Login Role. Enter the role name and a password.

Image Removed

These values will be used in the ESB configurations as described in the following sections.

Info
titleTip

In the sample configuration, we are using "gregadmin" as the role name and "greadmin" as the password.

Optionally, you can provide other policies, such as the expiration time for the login and the connection limit.

Click OK to finish creating the login role. For example:

Image Removed

Set up configuration files

1. Edit the default database configuration defined in the  master-datasources.xml  file in the <ESB_HOME>/repository/conf/datasources directory as follows. The database configurations in both registry.xml and user-mgt.xml refer to this data source. 

Info
titleNote

Replace these settings with your own custom values:

Code Block
languagehtml/xml
<datasource>
      <name>WSO2_CARBON_DB</name>
      <description>The datasource used for registry and user manager</description>
      <jndiConfig>
            <name>jdbc/WSO2CarbonDB</name>
      </jndiConfig>
      <definition type="RDBMS">
            <configuration>
                <url>jdbc:postgresql://localhost:5432/gregdb</url>
                <username>regadmin</username>
                <password>regadmin</password>
                <driverClassName>org.postgresql.Driver</driverClassName>
                <maxActive>80</maxActive>
                <maxWait>60000</maxWait>
                <minIdle>5</minIdle>
                <testOnBorrow>true</testOnBorrow>
                <validationQuery>SELECT 1</validationQuery>
                <validationInterval>30000</validationInterval>
           </configuration>
       </definition>
</datasource>
Database configuration options
  • url - The URL of the database.
  • username - The name of the database user.
  • password - The password of the database user.
  • driverClassName - The class name of the database driver.
  • maxActive - The maximum number of active connections that can be allocated from this pool at the same time or negative for no limit.
  • maxWait - The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception or <= 0 to wait indefinitely.
  • minIdle - The minimum number of active connections that can remain idle in the pool, without extra ones being created, or 0 to create none.

Set up the drivers

1. Download the PostgreSQL JDBC4 driver from http://jdbc.postgresql.org/download.html.

2. Place the driver in the <ESB_HOME>/repository/components/lib directory.

Create the database

The first time you start the ESB, run it with the -Dsetup option. It will create all the tables in the given PostgreSQL database.

  • For Linux:

    Code Block
    wso2server.sh -Dsetup
  • For Windows:

    Code Block
    wso2server.bat -Dsetup

WSO2 ESB is now configured to run with PostgreSQL database.

...

hiddentrue

...

Include Page
Shared:Setting Up PostgreSQL (V1)
Shared:Setting Up PostgreSQL (V1)