7

I'm using Windows, no virtualenv. I have psycopg2 installed with Pip, and the latest version of PostgreSQL installed as well.

When I run ./ manage.py dbshell, I get the following error:

CommandError: You appear not to have the 'psql' program installed or on your path.

When I run ./ manage.py dbshell psql, I get this:

usage: manage.py dbshell [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                         [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                         [--database DATABASE]
manage.py dbshell: error: unrecognized arguments: psql

I have read a few other posts on this error like this but I don't understand why this is not working for me. I have all the settings properly configured, and all the proper apps installed.

My settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '********',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

EDIT: I did not add Postgres's /bin folder into my PATH. I just did it and it is working now. Thanks to Daniel Roseman.

Valachio
  • 879
  • 2
  • 14
  • 32

3 Answers3

3

In Windows I solved by adding this to PATH environment:

C:\Program Files\PostgreSQL\12\bin

then restart terminals and IDEs

Path Environment PATH

How to add a folder to Path environment variable in Windows

Jorge Dri
  • 31
  • 4
0

For mac, run command brew install postgres.

In case, your machine don't have brew installed, follow this to install brew. Or run command

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
kartikmaji
  • 916
  • 7
  • 21
-1

Is postgresql installed on your machine.

Apart from:

pip install psycopg2

you need to install postgres:

sudo apt-get install postgres