sql >> Database >  >> RDS >> PostgreSQL

Rails:implementatie naar Heroku, veel problemen

Als je een fout hebt:

PG::Error

fe_sendauth: no password supplied

Je hebt goed nieuws, je app kan nu werken met de PostgreSQL-database. (Maar je moet iets configureren)

Na het installeren van PostgreSQL, kunt u een nieuwe rails-app maken met PostgreSQL met de opdracht:

rails new my_app -d postgresql

Dit is database.yml wordt gemaakt:

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  pool: 5
  username: my_app
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: my_app_test
  pool: 5
  username: my_app
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: my_app_production
  pool: 5
  username: my_app
  password:

U ziet dat, drie databases hebben username en password veld, dit is accountgebruiker in Postgresql, drie databases in database.yaml bestand wordt gemaakt door deze gebruiker. U moet dus username . opgeven en password ervoor. Standaard na installatie van Postgresql, het heeft een gebruiker gemaakt met gebruikersnaam postgresql en wachtwoord is postgresql . Je kunt het gebruiken.

Als u een andere gebruiker wilt gebruiken, opent u gewoon pgAdmin III en maak een nieuwe gebruiker aan door met de rechtermuisknop te klikken op Login Roles en kies New login role om een ​​nieuwe gebruiker met wachtwoord aan te maken. Zet dan die gebruikersnaam en wachtwoord in database.yaml bestand.

Daarna hoef je alleen nog maar pg_hba.conf . te zoeken en te openen bestand om een ​​configuratie voor app te maken, kan werken met PostgreSQL. Ik gebruik Windows al een lange tijd niet meer, dus ik weet niet zeker waar het is, maar je kunt het vinden in de map waarin je PostgreSQL hebt geïnstalleerd. Voorbeeld, als u installeert op E:\ partitie, misschien kun je het vinden in:

E:\PostgreSQL\version\data

Nadat je het hebt gevonden, open en zoek een regel:

# "local" is for Unix domain socket connections only
local all all ident sameuser

Verander het in:

# "local" is for Unix domain socket connections only
local all all md5

Start vervolgens uw Postgresql-database opnieuw. Om een ​​database voor de app te maken, voer je rake db:create . uit of rake db:create:all . Je app kan nu de PostgreSQL-database gebruiken, zo blij :).



  1. Parseer bestandsnaam en pad van volledig pad

  2. Hoe u uw MySQL- en MariaDB-database kunt beschermen tegen cyberaanvallen op een openbaar netwerk

  3. Oracle SQL Developer 21.4.2 en SQLcl 21.4.1 zijn nu beschikbaar

  4. Over het V-formaatelement in Oracle