If you are having problems connecting to a PostgreSQL database from an external machine e.g. trying to connect to SMARTView, there are several server and client side checks to perform. Connection problems will lead to error messages such as 'Database Connection Details are Incorrect' when trying to connect via SMARTView.
1. Is the PostgreSQL service running? To check, open a terminal window to the server on which PostgreSQL is running and issue the following command (where <verison> is the version of PostgreSQL):
service postgresql-<version> status
service postgresql-9.4 status
2. Check the connection details in ../<postgres>/<version>/data/pg_hba.conf. The connection method should be set to md5 for IPv4 and IPv6, and the IPv4 address should be set to 0.0.0.0/0 as follows (these entries are located at the end of the file):
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
If you need to update the pg_hba.conf file to reflect the above settings, the PostgreSQL service must be recycled once the changes have been made.
3. Check the Connection Settings in ../<postgres>/<version>/data/postgresql.conf. The listen_address = '*' and port = 5432 entries should be uncommented:
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
The listen address entry should not contain localhost ('listen addresses="localhost"') - replace this as shown above. Any updates to the postgresql.conf file will require a recycle of the PostgreSQL service.
4. Ensure port 5432/TCP is open on any firewalls that are running.
5. Can you connect to the PostgreSQL database via DBcon?
1. Was the BES Console installed as administrator? Even if you are logged in as an administrator user, you must right click and run the install application (setup.exe) as administrator, otherwise certain configuration files are not updated correctly.
2. Has the latest TrustInterlinkSoftware.exe. been run on the client machine?
3. Are the connection details in BES Console > Configure > Product Connections correct?
4. Is there an entry for the remote server in the client host file? E.g.
<IP Address> <Host> <Fully Qualified Domain Name>
5. Has the latest PostgreSQL ODBC Driver been installed on the client machine? The PostgreSQL driver can be downloaded from here. See this knowledge article for installation instructions.
6. Has the BES Console been restarted since it was installed - this is a known issue in which the BES Console must be closed and re-opened after installation.
7. Is there an entry in the BDEadmin GUI for the database you are trying to connect to? The BDEadmin GUI is available from Start Menu > All Programs > Interlink Software > BES Console > BDEadmin. Under the Databases tab, there should be an entry for the database you are trying to connect to. By right-clicking on the database name, select ODBC Administrator. Under the User DNS tab, double click on the database entry - this should open the driver setup. Check that the connection details are correct, enter the user password and then click Test - this test the connection. If the test is unsuccessful, the error returned should provide information that could highlight the cause.
If there is no entry under the User DNS tab, click Add and then enter the database connection details and test the connection.