sql >> Database teknologi >  >> RDS >> PostgreSQL

Rolle eksisterer ikke og kan ikke oprette database ved brug af PostgreSQL

Tilføj et brugernavn til din database.yml , kan lige så godt bruge dit programs navn (eller en variant af navnet) som brugernavn, jeg bruger app_name som pladsholder:

development:
  adapter: postgresql
  encoding: utf8
  database: app_development
  pool: 5
  username: app_name
  password:

Opret derefter brugeren (AKA "rolle") inde i PostgreSQL ved hjælp af psql.exe :

$ psql -d postgres
postgres=# create role app_name login createdb;
postgres=# \q

Den første linje er i din terminal, de næste to er inde i psql . Udfør derefter din rake db:create .

User bruger er muligvis en standard, men user er allerede taget til andre formål i PostgreSQL, så du bliver nødt til at citere det for at bevare sagen, hvis du vil bruge User som brugernavn:

postgres=# create role "User" login createdb;

Det er alligevel bedre at oprette én bruger pr. applikation.

Du vil gerne gøre lignende ting til din test indtastning i database.yml også.



  1. Import eksport mysql database kommandolinje superhurtig

  2. Sådan vælger du hver række, hvor kolonneværdien IKKE er adskilt

  3. Fejl i MySQL ved indstilling af standardværdi for DATE eller DATETIME

  4. MySQL får manglende ID'er fra tabellen