PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

A função não existe e não é possível criar banco de dados ao usar o PostgreSQL


Adicione um nome de usuário ao seu database.yml , também pode usar o nome do seu aplicativo (ou alguma variante do nome) como nome de usuário, usarei app_name como marcador de posição:
development:
  adapter: postgresql
  encoding: utf8
  database: app_development
  pool: 5
  username: app_name
  password:

Em seguida, crie o usuário (AKA "role") dentro do PostgreSQL usando psql.exe :
$ psql -d postgres
postgres=# create role app_name login createdb;
postgres=# \q

A primeira linha está no seu terminal, as próximas duas estão dentro do psql . Então faça seu rake db:create .

O User user é possivelmente um padrão, mas user já é usado para outros propósitos no PostgreSQL então você teria que citá-lo para preservar o caso se você quisesse usar User como nome de usuário:
postgres=# create role "User" login createdb;

De qualquer forma, é melhor criar um usuário por aplicativo.

Você vai querer fazer coisas semelhantes para o seu test entrada em database.yml também.