Configuring JBoss to use PostgreSQL

These notes are based on JBoss 3.2.6 and PostgreSQL 7.4 running on Mandrake Linux 10.0

For JBoss 3.0.6 see JbossPostgreSql

  • I'm not sure which items are case-significant. Play safe and assume they all are!

  • Refer to the instructions at for details on obtaining the PostgreSQL JDBC driver.

  • Copy the appropriate JDBC driver to (e.g. pg74.1jdbc3.jar) to jboss/server/xxx/lib

  • Copy jboss/docs/examples/jca/postgres-ds.xml to jboss/server/xxx/deploy directory

Amend the connection properties appropriately.


In the PostgreSQL data directory, amend postgresql.conf file to enable TCP/IP connections.

  • tcpip_socket = true

Also in the PostgreSQL directory, amend pg_hba.conf file to allow TCP/IP connections from the local host. (Note: This isn't secure. Read the very good PostgreSQL documentation.

  • host all all trust

Make sure both these files have the correct ownership, otherwise the PostgreSQL server will fail to run. Owner should probably be something like postgres. Restart the PostgreSQL server.

Note: These instructions will leave JBoss using Hypersonic for the jbossmq persistence manager. Options to consider persuing are:

  • Change the mq persistence manager to use the PostgreSQL datasource

  • Change jbossmq to use a non-jdbc persistence manager

  • Rename or copy the PostgreSQL datasource to DefaultDS

See also PostgreSQL, MySql, JbossHintsAndTips, JbossMySql

-- Frank Dean - 09 Feb 2005