40

I'm working on Django. I use PostgreSQL database.

Full error says:

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?

Do you have any idea?

sites
  • 21,417
  • 17
  • 87
  • 146
user2582546
  • 417
  • 1
  • 5
  • 10

1 Answers1

18

Wild stab in the dark: You're on a machine with an IPv6 resolver where localhost defaults to the IPv6 address ::1, but listen_addresses in postgresql.conf is set to 127.0.0.1 or 0.0.0.0 not * or you're using an older PostgreSQL built with a C library that doesn't have transparent IPv6 support.

Change listen_addresses to localhost and make sure localhost resolves to both the IPv4 and IPv6 addresses, or set it to ::1, 127.0.0.1 to explicitly specify both IPv4 and IPv6. Or just set it to * to listen on all interfaces. Alternately, if you don't care about IPv6, connect to 127.0.0.1 instead of localhost.

See this Google search or this Stack Overflow search for more information.

(Posting despite my close-vote because I voted the question for migration).

Community
  • 1
  • 1
Craig Ringer
  • 307,061
  • 76
  • 688
  • 778
  • 2
    it's been a while but I got same error and fixed it by changing my listen port to 5432 (was 5433) in postgresql.conf, but what if I want to keep my 5433 in conf?? – Scaramouche Sep 09 '16 at 14:30
  • @J.M.Echevarría Specify the port to the client when you connect instead. – Craig Ringer Sep 09 '16 at 14:44