sql >> Database >  >> RDS >> PostgreSQL

Rol bestaat niet en kan geen database maken bij gebruik van PostgreSQL

Voeg een gebruikersnaam toe aan uw database.yml , kan net zo goed de naam van uw toepassing (of een variant van de naam) als gebruikersnaam gebruiken, ik gebruik app_name als tijdelijke aanduiding:

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

Maak vervolgens de gebruiker (ook bekend als "rol") in PostgreSQL met behulp van psql.exe :

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

De eerste regel bevindt zich in uw terminal, de volgende twee bevinden zich in psql . Doe dan je rake db:create .

De User gebruiker is mogelijk een standaard maar user is al gebruikt voor andere doeleinden in PostgreSQL, dus je zou het moeten citeren om de zaak te behouden als je User wilt gebruiken als gebruikersnaam:

postgres=# create role "User" login createdb;

Je kunt sowieso beter één gebruiker per applicatie maken.

U wilt soortgelijke dingen doen voor uw test invoer in database.yml ook.



  1. Oracle:is er een logische reden om geen parallelle uitvoering te gebruiken met subquery's in de SELECT-lijst?

  2. CTE en de verjaardagsparadox

  3. Meerdere tellingen krijgen met één query in MySQL

  4. UPDATE indien bestaat anders INSERT in SQL Server 2008