Postgresql – help in the initial configuration of postgreSQL9.6

postgresql

I recently installed postgreSQL9.6 version on windows 7 64 bit machine. During the installation process, I was asked to key in the super user password and the locale of the database (I chose default locale). Now during installation, there was a step by the name "server clusterinitialization". This step failed and I got the error message for the same. However, the server got installed successfully.

Now when I launched the postgreSQL9.6 command line application, I am required to provide some information. I am not sure what are they exactly asking for. So, I am giving a snapshot of the fields required.
field required to configure the server

As evident, the prompt asks for the Server [localhost]:, Database [postgres]:, Port [PG_PORT]: and username [PG_USERNAME]:

The installation instructions said that for these fields I am supposed to enter the default values. What are the default values for these fields. I only know the port number and superuser password.

Basically, I do not know what information needs to be entered in each of these fields.

Also, when I tried to add a server using pgadmin III, I get the following error

details while adding a local server

**

Server doesn't listen
    The server doesn't accept connections: the connection library reports 
    could not connect to server: Connection refuse (0x0000274D/10061)     Is   the server running on host "localhost" (::1) and accepting TCP/IP     connections on port 5432? could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? 
If you encounter this message, please check if the server you're trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network / VPN / SSH tunnel / firewall configured correctly? 
For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first. 
For PostgreSQL servers starting with version 8.0, this is controlled using the "listen_addresses" parameter in the postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use '*' to listen on all available IP addresses. For earlier servers (Version 7.3 or 7.4), you'll need to set the "tcpip_socket" parameter to 'true'. 
You can use the postgresql.conf editor that is built into pgAdmin III to edit the postgresql.conf configuration file. After changing this file, you need to restart the server process to make the setting effective. 
If you double-checked your configuration but still get this error message, it's still unlikely that you encounter a fatal PostgreSQL misbehaviour. You probably have some low level network connectivity problems (e.g. firewall configuration). Please check this thoroughly before reporting a bug to the PostgreSQL community.

**

I am trying to create a local server on my machine so that I can learn postgreSQL.

As suggested in the comments section, I tried to find the postgresql.conf file to which I got postgresql.conf.sample file. I am posting the contents of this file in the form of a snapshot.snapshot showing the contents of postgresql.conf.sample file

Do I need to remove the # to make the configuration work?

Best Answer

Basically your pg_hba.conf files need to be updated to work properly. To find out the location of the conf file, look for the main postgresql.conf file which is typically in the /Data directory.

Also check your postgresql.conf file to see what port # it is listening on, you might have setup a non default port. Running a netstat -an would help you verify that it is currently listening. If it is not ensure the service or app is running.

After you validate that and you edit the pg_hba.conf you should restart the service in Windows then test again locally. If you're running IPv6 the 'open to all' notation would be ::0/0, that's a common implementation but a poor security practice. I would recommend only testing with that, then once it works, lock it down to specific IPs since you know everything is up and running.

Try this on your conf file and try to connect locally. If you're using IPV6 use IPV6 addresses in CIDR-ADDRESS:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust

Here is the documentation for PostgreSQL hba_conf.

The most recent common issues I've seen were when the server or client were using IPv6 or it was a default install and a client was trying to connect from a different IP than the server. Otherwise you conf file could be setup wrong.