Unable to establish a psql session with remote heroku database - postgresql

I have a remote heroku database ('hobby' tier) and want to establish a remote psql connection but when I type:
heroku pg:psql
I am receiving the following error:
psql: could not connect to server: Operation timed out
Is the server running on host "ec2-54-163-230-199.compute-1.amazonaws.com" (54.163.230.199) and accepting
TCP/IP connections on port 5432?
I've edited postgresql.conf such that
listen_addresses = '*'
and added the line:
host all all 0.0.0.0/0 md5
to pg_hba.conf as I thought the issue may be my postgres configuration only accepting connections to localhost, but having restarted Postgres I am still getting the same error.
Anyone have any advice on what may be going wrong? If my firewall is blocking this would anyone have any advice on how to change that? Thanks in advance.

There must be network restrictions or firewall settings as it should work without making changes to conf file.

Related

Permission denied in postgres

I missed a bit with chmod and permissions.
And now got a lot of problems with access to folders.
If I start server I see in browser:
could not connect to server: Connection refused Is the server running
on host "localhost" (::1) and accepting TCP/IP connections on port
5432?
could not connect to server: Connection refused Is the server
running on host "localhost" (127.0.0.1) and accepting TCP/IP
connections on port 5432?
command
service --status-all
tells that postgres works
[ + ] postgresq works
Next I changed next files
sudo nano /etc/postgresql/9.5/main/postgresql.conf
#listen_addresses = 'localhost'
to
listen_addresses = 'localhost, server_ip, *'
sudo nano /etc/postgresql/9.5/main/pg_hba.conf
add
host all all server_ip/24 trust
then command
psql -U postgres -h server_ip
and error
psql: could not connect to server: Connection refused
Is the server running on host "95.213.200.26" and accepting
TCP/IP connections on port 5432?
The following chain of actions leads to a slightly different error
command
which psql
answer
/usr/bin/psql
sudo su - postgres
No directory, logging in with HOME=/
psql
psql: could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Wich file permissions do I have to change here?
Check that unix_socket_directories on the server is set to the same directory (/var/run/postgresql) as the default socket directory that was configured when the client was compiled (this requires a server restart).
Alternatively, you can use the --host option of psql or set the PGHOST environment variable to tell the client to look for the socket file in /tmp, where the server creates it.
It looks like client and server are from different installations, otherwise the configured default should be the same for both. Or you have a bad PGHOST environment variable set by accident.
Check listen addres syntax. Use:
listen_addresses = '*'
For the server to listen on both localhost and the server ip.
This question is really hard. I made a great mistake with permissions 777 for / folder and whole system broke. So it is really easier delete server and start new project.

PostgreSQL Connection Refused

I have installed PostgreSQL. However everytime I try to connect through PGAdmin or through psql it gives me the below error.
could not connect to server: Connection refused (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?
I checked the postgresql.conf file and the line: listen_addresses = '*' isn't commented out.
Also this is how my pg_hba.conf file is set:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Can anyone please advise on how I can resolve this issue?
Thanks!
Use services "start -> run -> services.msc" and look for the postgresql-[vers] service.
If it is not running try to start it, if it won't start open the event-viewer (start -> run -> eventvwr) and look for error messages relating to the PostgreSQL service.
In my case it was postgres.config. The port was somehow changed to 5433 in there and I do not remember doing it myself lol. So make sure your ports are matching up in your project vs postgres.config
pg_hba.conf.txt has to be called pg_hba.conf.
Beyond this, when you have en authentication error you will get a message similar to:
psql -U nonexistent
psql: FATAL: Peer authentication failed for user "nonexistent"
The error you are getting means most likely that PostgreSQL is not started on this server.
You can start PostgreSQL with:
service postgresql start
service postgresql status
This worked for me -
In C:\Program Files\PostgreSQL\data\postgresql.conf set listen_addresses ='localhost'
Then try -
pg_ctl -D "C:\Program Files\PostgreSQL\9.5\data" start
if already try restarting using pg_ctl
It works for me.
Remember, whatever comes after -D should be the path to where you installed PostgreSQL, to the data folder, which holds the pg_hba.conf and postgresql.conf files.
pg_ctl start -D "C:/Program Files/PostgreSQL/9.6/data"
Maybe you can try this.
Open cmd and insert.
"C:\Program Files\PostgreSQL\11\bin\pg_ctl.exe" runservice -N "postgresql-x64-11" -D "C:\Program Files\PostgreSQL\11\data" -w
Hit enter...

postgres server running in local host, but postico, pgadmin can't access to it

I successfully installed postgres through homebrew, and i set it run automatically by doing
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
So, right now i can access to psql from my terminal (i use iterm2 + oh my zsh)
psql (9.6.1)
Type "help" for help.
ty2kim=#
The problem is, postgres management tools like postico, pgadmin cannot access to it
for postico, error message is
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5435?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5435?
which is weird because from my understanding, accessing to the database from terminal and management tools are basically the same if configured correctly
My pg_hba.conf and postgresql.conf are set as default (didn't make any changes there), but i tried doing
listen_addresses = 'localhost'
=>
listen_addresses = '*'
(restart server)
still didn't work
Please help!
Port 5435 is not standard for PostgreSQL. Are you sure PG is running on it? If you didn't change it in postgresql.conf it must be 5432. Please check it.
must check pg_hba.conf. If there doesn't have much restriction, you can put to end of this file by below line:
host all all all trust
After that, reload/restart instance.
Check if your PC is using firewall. If yes, please turn off it.

Geoserver(VPS) connection to PostgreSql(localhost)

I am trying to connect Geoserver (installed in a VPS) to a PostgreSql database wich is running into my pc(localhost). I have follow the steps to allow this kind of connection(I do not know if all needed):
POSTGRESQL:
1.- Edit pg_hba.config of PostgreSql to allow Ip of VPS(Geoserver):
host all all ip_VPS/24 md5
2.- Edit postgresql.conf to allow remote connections:
listen_addresses ='*'
WINDOWS:
1.- Firewall configuration to allow Ip(VPS) access.
,but i still getting this connection error:
Unable to obtain connection: Cannot create PoolableConnectionFactory
(Connection to My_Ip(pc):5432 refused. Check that the hostname and
port are correct and that the postmaster is accepting TCP/IP
connections.).
Would i have to make other configuration ?.
Thanks in advance.
0k. You have in pg_hba.config:
host all all ip_VPS/24 md5
Maybe you should try this:
host all all ip_VPS/24 trust
Then you should restart postgres.
(For the parameter "trust" or "md5" I recommend reviewing:
www.postgresql.org/docs/9.5/static/auth-pg-hba-conf.html)
Greetings.

postgresql server doesn't listen

I just recently install PostgreSQL on our server via SSH. The installation went successful, until the time I tried to connect to it using pgAdmin on my Windows machine.I received this kind of error:
could not connect to server: Connection refused (0x0000274D/10061) Is
the server running on host "xxx.xxx.xxx.xxx" and accepting TCP/IP
connections on port 5432?
xxx.xxx.xxx.xxx = my server's public IP.
The docs suggest this can be fixed by setting the value of listen_addresses = '*' in the /etc/postgresql/9.1/main/postgresql.conf. I did that but still it won't let me.
additional error came up
FATAL: no pg_hba.conf entry for host "xxx.xx.xxx.xxx", user
"postgres", database "postgres", SSL on FATAL: no pg_hba.conf entry
for host "xxx.xx.xxx.xxx", user "postgres", database "postgres", SSL
off
xxx.xx.xxx.xxx = my IP address.
What seems to be I'm missing?
Things that could block a postgres connection:
misconfigured listen_address in postgresql.conf
selinux (?)
iptables
pg_hba.conf (although this should cause a different error, not server doesn't listen)
Can you connect to the server locally, if you ssh in and run psql?
On our internal dev servers, I just turn off selinux and iptables. This is a bad idea from a security standpoint, but it might serve as a temporary step to help you narrow down where the problem is.
You might need to change more than one configuration file. In your case, you probably need to edit pg_hba.conf, too. Search that file for "non-local connections".
I like to keep configuration files under version control. It's easier to recover from mistakes that way.
You probably need to restart the PostgreSQL server after making those changes.
After changing listen_addresses settings on the server, make sure to restart the PostgreSQL server (send SIGHUP to the postmaster process, with kill -HUP, etc).
Make sure that postgresql.conf port is set to 5432
Make sure that if a firewall is running on the server, that port 5432 is open for connections coming from the window's (client) machine you are using
Check pg_hba.conf to make sure that the subnet of your client machine is given access
Try using psql locally