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

Postgresql:FATAL:rolle findes ikke

Jeg løb ind i lignende problemer, da jeg satte en ny Rails-applikation med Postgresql. Jeg fik følgende fejlmeddelelser nedenfor

FATAL:  role "promisepreston" does not exist
Couldn't create 'MyBlog_development' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: FATAL:  role 

Caused by:
PG::ConnectionBad: FATAL:  role "promisepreston" does not exist

For at løse dette skal du blot følge nedenstående løsning

Først skal vi logge ind på postgres-brugerkontoen via kommandolinjegrænsefladen;

sudo su - postgres

Forbind derefter til databaseserveren ved hjælp af psql-klienten, som postgres-rollen:

psql -U postgres

Velkommen til psql 10.6, den interaktive PostgreSQL-terminal.

[email protected]:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help

postgres=#

Dernæst, forbundet med psql-klienten, opretter vi en rolle med vores ønskede rollenavn der har LOGIN-attributten og vores ønskede adgangskode , og som kan oprette databaser og administrere roller (N/B: Indtast venligst ikke dette postgres=# , da det er en pladsholder):

postgres=# create role rolename with createdb login password 'password1';

Bemærk det påkrævede semikolon (; ) i slutningen af ​​SQL-sætningen. De enkelte anførselstegn ( ' ' ) er ikke en del af adgangskoden, men skal omslutte den.

Virkede det? Du kan kontrollere ved at bruge \du-kommandoen (N/B: Indtast venligst ikke dette postgres=# , da det er en pladsholder):

postgres=# \du

Du kan nu køre kommandoen for at oprette databasen til din Rails-applikation;

rails db:create

Og kør så også kommandoen for at migrere databasen til din Rails-applikation;

rails db:migrate

Det er alt.

Jeg håber, at dette hjælper



  1. PostgreSQL finde fælles kombination af par på samme kolonne

  2. virtualenv(python3.4), pip install mysqlclient fejl

  3. Seeder SQLite RANDOM()

  4. hvordan man gemmer indisk sprog som telugu, hindi i mysql-databasen