2014-10-02 4 views
2

Здравствуйте, я новый в PostGreSQL, пожалуйста, руководство меня немногоpostgreSQL.app: создать базу данных

У меня есть Джанго проекту

здесь settings.py:

DATABASES = { 
"default": { 
    "ENGINE": "django.db.backends.postgresql_psycopg2", 
    "NAME": "testfor_psl", 
    "USER": "", 
    "PASSWORD": "", 
    "HOST": "localhost", 
    "PORT": "", 
    } 
} 

И я запустить python manage.py syncdb

Существует ошибка:
OperationalError: FATAL: database "testfor_psl" does not exist

Так как я могу создать db ??

Я использую posgreSQL.app и нажмите Open psql

Существует терминал, как это:

I типа help, и ничего не случится.
Пожалуйста, помогите мне. Благодаря

enter image description here

ответ

2

Вам необходимо поставить ; в конце psql commad. Как вы можете видеть, после команды

winsome=# CREATE DATABASE testfor_psl 

подсказка изменяется от =# до -#. Это означает, что psql все еще ждет завершения команды, предоставляя ;.

Кроме того, лучше создать пользователя базы данных для проекта django.Так вот то, что вам нужно сделать:

  1. Создать пользователя в базе данных (в PSQL):

    CREATE USER testfor_psl_user WITH password 'pass'; 
    
  2. Создать базу данных с владельцем равен этому пользователю:

    CREATE DATABASE testfor_psl ENCODING 'UTF8' TEMPLATE template0 OWNER testfor_psl_user; 
    
  3. Set учетные данные в настройках проекта django:

    DATABASES = { 
    "default": { 
        "ENGINE": "django.db.backends.postgresql_psycopg2", 
        "NAME": "testfor_psl", 
        "USER": "testfor_psl_user", 
        "PASSWORD": "pass", 
        "HOST": "localhost", 
        "PORT": "5432", # default port 
        } 
    } 
    
+0

Спасибо, очень помогите !! Btw - postgreSQL.app просто терминал ?? Я имею в виду, есть ли графический интерфейс, который я могу видеть в db? – user2492364

+0

@ user2492364 Да, psql является терминальным интерфейсом командной строки для postgres. И да, есть [pgadmin] (http://www.pgadmin.org/), который предоставляет графический интерфейс пользователя – stalk

0

Причина help имела никакого эффекта в том, что вы уже были в середине написания команды. Команды SQL должны быть завершены точкой с запятой. Обратите внимание на подсказку psql - см., Как она изменилась с =# до -#? Это означает, что вы находитесь в середине команды. См. In psql, why do some commands have no effect?.

Если вы не были на полпути, хотя команда, набрав help бы я показал:

mydbname=> help 
You are using psql, the command-line interface to PostgreSQL. 
Type: \copyright for distribution terms 
     \h for help with SQL commands 
     \? for help with psql commands 
     \g or terminate with semicolon to execute query 
     \q to quit 

сейчас ... here's the manual for the psql command.

Для справки по телефону psql его использование \?.

Для ввода команд SQL используйте \h.

Для получения справки по конкретным командам используйте \h COMMAND NAME, например. \h CREATE DATABASE, чтобы узнать, как использовать команду CREATE DATABASE. Для получения дополнительной информации о команде прочтите руководство, например. the manual on CREATE DATABASE.

Here's the PostgreSQL tutorial, который охватывает начало работы.

+0

, чем вам за помощь! – user2492364

Смежные вопросы