This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Setting up with PostgreSQL

Follow the below instructions to set up PostgreSQL.



Setup Database And The Login Role

1. Install PostgreSQL on your computer.

2. Start the PostgreSQL service.

3. You can create a database and the login role from a GUI using the PGAdminIII tool.

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.

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

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

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

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

Tip

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

You can provide other policies, such as the expiration time for the login and the connection limit, which are optional.

Click the "OK" button to finish creating the login role.


Setup Configuration Files

1. Edit the default database configuration defined in the master-datasources.xml file located at $GREG_HOME/repository/conf/datasources directory of the deployed registry instance as below. Both the database configurations in registry.xml and user-mgt.xml refer this data source.

Note

Replace these settings with your own custom values:

      <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 version();</validationQuery>
                    <validationInterval>30000</validationInterval>
                </configuration>
            </definition>
        </datasource>
The 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.

Setup Drivers

1. Download the PostgreSQL JDBC4 driver here.

2. Place the driver in the $GREG_HOME/repository/components/lib directory. Here, $GREG_HOME refers to the directory where you are running the WSO2 Governance Registry instance.




Create Database

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

  • For Linux:

    wso2server.sh -Dsetup

  • For Windows:

    wso2server.bat -Dsetup

2. The WSO2 Governance Registry is now configured to run with PostgreSQL database.