2012-06-02 4 views
5

Weird error. Вся помощь была оценена.FATAL: база данных «postgres» не существует

Вот мой database.yml

development: 
    adapter: postgresql 
    encoding: unicode 
    database: app_development 
    pool: 5 
    username: username 
    password: 

test: 
    adapter: postgresql 
    encoding: unicode 
    database: app_test 
    pool: 5 
    username: username 
    password: 

production: 
    adapter: postgresql 
    encoding: unicode 
    database: app_production 
    pool: 5 
    username: username 
    password: 

При создании базы данных вручную и попытаться использовать их, например rake db:test:preare я получаю следующее сообщение об ошибке:

FATAL: database "postgres" does not exist 

Когда я пытаюсь опускать базы данных Я получаю следующие ошибки:

Couldn't drop app_development : #<PG::Error: FATAL: database "postgres" does not exist 
> 
Couldn't drop app_test : #<PG::Error: FATAL: database "postgres" does not exist 
> 
Couldn't drop app_production : #<PG::Error: FATAL: database "postgres" does not exist 

Если я пытаюсь сделать креа те базы данных через с rake db:create:all я получаю следующие ошибки:

app_development already exists 
app_test already exists 
app_production already exists 

Так кажется, что мой database.yml нормально. Но по какой-то причине он ищет базу данных, называемую postgres, когда это не то, что находится в моей базе данных.yml.

Любая помощь приветствуется.

EDIT:

Вот больше от следа грабли:

Не удалось создать базу данных для { "адаптера" => "PostgreSQL", "кодирование" => "Юникод", «базы данных "=>" app_production "," pool "=> 5," username "=>" username "," password "=> nil}

ответ

1

Вы не сказали, есть ли у вас база данных postgres, ошибка жалуется.

Предположительно нет, и этот инструмент «грабли» подключается как пользователь postgres к postgres базы данных, чтобы он мог создавать новые базы данных. Очевидно, он должен подключиться, как кто-то, чтобы что-либо сделать.

Потратьте время, чтобы просмотреть руководства по PostgreSQL и понять, как включить/контролировать ведение журнала. Это послужит вам хорошо в долгосрочной перспективе. Я предполагаю, что есть опция debug/log для rake/rails.

+0

Эй, спасибо за ответ. У меня есть база данных postgres и я использую ее для приложений rails в течение последних 6 месяцев без каких-либо драм. Если я попробую другие приложения, использующие postgres, все будет работать. Не уверен с этим. Я просмотрел трассировку рейка, но ничего не нашел – user1432031

+0

@ user1432031: Ричард не означает «база данных postgres», а «база данных ** с именем ** postgres» - обычно созданная как часть установка сервера базы данных. –

+0

Эй, похоже, сработало. Я добавил postgres базы данных, и теперь при первом взгляде у меня нет проблем с моими другими базами данных rails. Мои другие рельсовые базы данных работали до этой дополнительной базы данных. Вы, ребята, не знаете, почему это может быть так? – user1432031

3

[Mac OS X] У меня никогда не было проблем с PostGreSQL при использовании Linux. Тем не менее, я начал работать с MacBook и получил ту же ошибку, что и вы. Итак ... Наверное, это не то решение, о котором вы ожидали, но это приложение решило все мои головные боли. Я просто хотел поделиться им с вами, ребята.

http://postgresapp.com/

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