Confluence PostgreSQL JDBC direct connection refused

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

The following appears in the atlassian-confluence.log file, indicating a connection refused when using Confluence with JDBC direct connection string:

org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

Diagnosis

Environment

  • PostgreSQL database

Diagnostic Steps

Here are some quick and handy diagnostic scripts:

ps -f -u postgres 

This should list the PostgreSQL processes in your environment:

sudo lsof -n -u postgres |grep LISTEN or sudo netstat -ltnp | grep postgres

This will show the TCP/IP addresses and ports that your instance of PostgreSQL is listening upon.

Cause

This is a configuration issue with PostgreSQL, not Confluence. The root cause is that the PostgreSQL pga_hba.conf file is not set to TRUST versus IDENT as usually found under:

/var/lib/pgsql/data/pg_hba.conf

and shown herein below:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
# "local" is for Unix domain socket connections only
local   all         all                               ident
 
# IPv4 local connections:
host    all         all         127.0.0.1/32          ident
host    all         all         100.200.300.50/32       ident
 
# IPv6 local connections:
host    all         all         ::1/128               ident

IP address range 100.200.300.50/32 is only used herein for purposes of example, please do not use that address.

Resolution

  • Open the file /var/lib/psql/pg_hba.conf in your favorite text editor of choice with appropriate permissions
  • You may have to use sudo to obtain the correct permissions to edit and save the file as needed
  • Edit the file, altering the values written as IDENT above to TRUST as shown below

    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
     
    # "local" is for Unix domain socket connections only
    local   all         all                               trust
     
    # IPv4 local connections:
    host    all         all         127.0.0.1/32          trust
    host    all         all         100.200.300.50/32       trust
     
    # IPv6 local connections:
    host    all         all         ::1/128               ident
    

DescriptionThe following appears in the atlassian-confluence.log file, indicating a connection refused when using Confluence with JDBC direct connection string: org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
ProductConfluence
PlatformServer
Last modified on Oct 19, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.