

- #PSYCOPG2 POSTGRES.APP WRONG PATH HOW TO#
- #PSYCOPG2 POSTGRES.APP WRONG PATH MAC OS#
- #PSYCOPG2 POSTGRES.APP WRONG PATH INSTALL#
In this entire tutorial, you will learn how to solve the Error: pg_config executable not found error. Psycopg is the most popular PostgreSQL database adapter for the Python programming language. Hope this helps methodically troubleshoot this issue.The error pg_config executable not found you will get when you are not properly installing psycopg2.
#PSYCOPG2 POSTGRES.APP WRONG PATH MAC OS#
If the postgres server is not started, please try restarting the postgres instance with the command as appropriate to the operating system you are using.įor Mac OS the command to restart was brew services restart postgresql The process is not running at all or there is some other issue, which can again be seen in the log (which can be found with the steps above). Once you get the port, which was 5488 in my case, connect to postgres server with an option "-p" to connect (replace with the port found from the log): psql -p 5488 #add host and other options as neededī.

So, you can grep that as well like: egrep "*listening*" /usr/local/var/log/postgres.log Open the log file and confirm the port number from the log line like below: There are other articles on how to check the statusįind the log location with the pid (5833 is the pid of postgres from the above command, replace the pid with your pid from the command output you get): $ lsof -p 5833 | grep log You can confirm postgres server status with pg_ctl or other commands to confirm. If you DO NOT get the output like above, most likely the postgres server is not running. Got the pid of 5833 from the output below: UID PID PPID C STIME TTY TIME CMDĥ01 5833 1 0 12:07PM ? 0:00.13 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres Maybe the port is not the default port used (which is 5432)- How to confirm this? ps -ef | grep UID & ps -ef | grep postgres This issue might occur for one of the reasons below:Ī. The solution is as simple as reinstalling the gem.
#PSYCOPG2 POSTGRES.APP WRONG PATH INSTALL#
When you install the ‘pg’ gem, it detects which version of Postgres is installed and sets the domain socket path appropriately. The fix is simple, if a little suprising.

At no point had I told Rails to connect to postgres on that path, Rails had assumed it, and now its assumptions were wrong. I could’ve messed around with the config and made Postgres use the domain socket it was previously, or told Rails explictly how to connect, but both of those approaches seemed like work I shouldn’t have to do. The problem was that the new version of Postgres listens on /tmp/.s.PGSQL.5432 instead. Is the server running locally and acceptingĬonnections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? Even though Postgres was definitely running, suddenly I was getting:Ĭould not connect to server: No such file or directory (PG::ConnectionBad) However, trouble struck once I tried to run any specs that needed to connect to Postgres. The process was smooth and pg_upgrade is a very handy tool. I recently upgraded Postgres from 9.2 to 9.3 using brew upgrade postgres. I was looking for a long time, and this was the most clean and neat solution:
