Database Connection

Ask your questions regarding TimeTrex installation here.
Post Reply
jvgrago
Posts: 6
Joined: Sat Sep 07, 2019 7:47 am

Database Connection

Post by jvgrago »

I was able to solve my last issue of directory permissions but now have a new one.

Running Centos 7 on a local install to a server at my business.

Connection test to your database as a non privileged user has FAILED! Please correct your settings and try again.

I followed the install instructions verbatim here https://www.timetrex.com/how-to-install ... nux-centos and am now unable to proceed due to the db connection error. I entered a password in the php.ini file in the /var/www/html/timetrex folder and even attempted to open port 5432 on the firewall thinking that was the issue, but no luck. (have since removed that open port). I even went as far as to remove postgresql-server using yum, restart my server and install it again to go through the process but the outcome is the same.

I had also read that some special characters in the password may cause issues so I created a timetrex user password (for the db) without any special characters.

Help!

Thanks
mikeb
Posts: 709
Joined: Thu Jul 27, 2006 11:58 am

Re: Database Connection

Post by mikeb »

Please attach a screenshot of the Database Settings page that you see the error on, and a copy of your PostgreSQL pg_hda.conf file too.
TimeTrex Community Edition is developed and supported by volunteers.
Help motivate us to continue by showing your appreciation!
jvgrago
Posts: 6
Joined: Sat Sep 07, 2019 7:47 am

Re: Database Connection

Post by jvgrago »

Hello, thanks for your reply.

http://prntscr.com/p3rayy

Copy of pgsql_hba.conf

# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the PostgreSQL
# documentation for a complete description of this file. A short
# synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access. Records take one of these forms:
#
# local DATABASE USER METHOD [OPTIONS]
# host DATABASE USER ADDRESS METHOD [OPTIONS]
# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
#
# (The uppercase items must be replaced by actual values.)
#
# The first field is the connection type: "local" is a Unix-domain
# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
# plain TCP/IP socket.
#
# DATABASE can be "all", "sameuser", "samerole", "replication", a
# database name, or a comma-separated list thereof. The "all"
# keyword does not match "replication". Access to replication
# must be enabled in a separate record (see example below).
#
# USER can be "all", a user name, a group name prefixed with "+", or a
# comma-separated list thereof. In both the DATABASE and USER fields
# you can also write a file name prefixed with "@" to include names
# from a separate file.
#
# ADDRESS specifies the set of hosts the record matches. It can be a
# host name, or it is made up of an IP address and a CIDR mask that is
# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
# specifies the number of significant bits in the mask. A host name
# that starts with a dot (.) matches a suffix of the actual host name.
# Alternatively, you can write an IP address and netmask in separate
# columns to specify the set of hosts. Instead of a CIDR-address, you
# can write "samehost" to match any of the server's own IP addresses,
# or "samenet" to match any address in any subnet that the server is
# directly connected to.
#
# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
# "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
# "password" sends passwords in clear text; "md5" is preferred since
# it sends encrypted passwords.
#
# OPTIONS are a set of options for the authentication in the format
# NAME=VALUE. The available options depend on the different
# authentication methods -- refer to the "Client Authentication"
# section in the documentation for a list of which options are
# available for which authentication methods.
#
# Database and user names containing spaces, commas, quotes and other
# special characters must be quoted. Quoting one of the keywords
# "all", "sameuser", "samerole" or "replication" makes the name lose
# its special character, and just match a database or username with
# that name.
#
# This file is read on server startup and when the postmaster receives
# a SIGHUP signal. If you edit the file on a running system, you have
# to SIGHUP the postmaster for the changes to take effect. You can
# use "pg_ctl reload" to do that.

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.



# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident


Thanks
Jim
mikeb
Posts: 709
Joined: Thu Jul 27, 2006 11:58 am

Re: Database Connection

Post by mikeb »

You could try two things:

In the TimeTrex installer set the database hostname to blank, or two single quotes, ie: ''
This should force it to use unix sockets rather than TCP/IP.

If that doesn't work, then you may need to modify the pg_hba.conf file to change the line:

Code: Select all

host all all 127.0.0.1/32 ident
to:

Code: Select all

host all all 127.0.0.1/32 md5
Then try again.
TimeTrex Community Edition is developed and supported by volunteers.
Help motivate us to continue by showing your appreciation!
jvgrago
Posts: 6
Joined: Sat Sep 07, 2019 7:47 am

Re: Database Connection

Post by jvgrago »

I first tried your suggestion of the 2 '' and I now get this:

http://prntscr.com/p3uohj

I then tried to update the settings you told me to and again got the same error.

Jim
mikeb
Posts: 709
Joined: Thu Jul 27, 2006 11:58 am

Re: Database Connection

Post by mikeb »

So the version check failed means a connection to the database worked, the PostgreSQL version you are using is just too old.

You will notice at the top of our CentOS v7 installation instructions: https://www.timetrex.com/how-to-install ... nux-centos, that out-of-the-box CentOS v7 is too old and you will need to use 3rd party package repositories to install PHP/PostgreSQL to get new enough versions.

When released CentOS v8 should work with default package repositories though.
TimeTrex Community Edition is developed and supported by volunteers.
Help motivate us to continue by showing your appreciation!
jvgrago
Posts: 6
Joined: Sat Sep 07, 2019 7:47 am

Re: Database Connection

Post by jvgrago »

Ok understood. I will wipe my server and install Ubuntu.

Thanks for all your help.

Jim
antonb
Posts: 5
Joined: Mon Apr 27, 2020 3:09 am

Re: Database Connection

Post by antonb »

mikeb wrote: Mon Sep 09, 2019 8:03 am You could try two things:

In the TimeTrex installer set the database hostname to blank, or two single quotes, ie: ''
This should force it to use unix sockets rather than TCP/IP.

If that doesn't work, then you may need to modify the pg_hba.conf file to change the line:

Code: Select all

host all all 127.0.0.1/32 ident
to:

Code: Select all

host all all 127.0.0.1/32 md5
Then try again.
Setting two single quotes on the db hostname field fixed my issue. Thanks very much for the suggestion.

I encountered db connection issue because I didn't quite understood the installation instruction at first re the two single quotes.
Post Reply