Файл postgres.yml отсутствует при использовании PostgreSQL с Yesod

Кажется, у меня возникла проблема с использованием PostgreSQL в качестве постоянного решения для Yesod.

Я следовал инструкциям руководства «Йесод за пять минут».

Я использовал строительные леса для создания проекта. При выборе варианта t все прошло хорошо, и я мог видеть приложение по адресу: http://localhost:3000.

Однако, когда я выбираю PostgreSQL в качестве базы данных, я получаю следующую ошибку после ввода команды «yesod devel»

Registering FirstYesod-0.0.0...
Starting development server...
Starting devel application
devel.hs: InvalidYaml (Just "YamlException \"Yaml file not found: config/postgres.yml\"")
Devel application launched, listening on port 3000
Exit code: ExitFailure 11

Этот файл Yaml должен был быть добавлен мной или в процессе установки? Если да, то кто-нибудь знает, почему он не был создан?

Я использую PostgreSQL 8.4.9. Он отлично работает с psql и с PGAdmin III.


person user1013013    schedule 26.10.2011    source источник


Ответы (1)


Если вы посмотрите, то увидите, что сгенерированный yml и открытый файл имеют разные имена:

devel.hs: InvalidYaml (Just "YamlException \"Yaml file not found: config/postgres.yml\"")

а также:

$ ls config
favicon.ico  models  postgresql.yml  routes  settings.yml

Поэтому просто скопируйте (или переместите) файл:

$ cp config/postgresql.yml config/postgres.yml

Теперь вы получаете новую ошибку, специфичную для postgresql:

devel.hs: SqlError {seState = "", seNativeError = 1, seErrorMsg = "connectPostgreSQL: FATAL:  password authentication failed for user \"B\"\nFATAL:  password authentication failed for user \"B\"\n"}

Я не специалист по БД, но если вы знаете ответ на этот вопрос (какие команды вводить после запуска psql), то я весь внимание ;-).

person Thomas M. DuBuisson    schedule 26.10.2011