2012-03-21 9 views
5

Używam PostgreSQL 9.1.3 (PostgreSQL 9.1.3 na x86_64-pc-linux-gnu, skompilowany przez gcc-4.6. real (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1, 64-bit) i szyn w wersji 3.2.2 lub 3.2.1 na Ubuntu 11.10.szyny 3.2.2 (lub 3.2.1) + PostgreSQL 9.1.3 + Ubuntu 11.10 Błąd połączenia

Teraz mogę połączyć się z poniżej polecenia z PostgreSQL

  1. su postgres

    wpisać hasło i widzę postgres = #

  2. Jestem umieszczenie poniżej szczegółowo w moim config/database.yml i wykonanie "szyn db" to działa działa dobrze.

    development:

    adapter: postgresql 
    encoding: utf8 
    reconnect: false 
    database: sample_app_db 
    pool: 5 
    username: postgres 
    password: passwordhere 
    host: localhost 
    

Używam RVM uzyskać dostępu do środowiska Rails. ale kiedy uruchamiam serwer za pomocą polecenia "rails s" i wciskam URL z "http: // localhost: 3000", powiedzmy - połączenie nie nawiązuje połączenia.

+0

można uruchomić rake db: migrować? – fatfrog

Odpowiedz

13

spróbować w ten sposób,

sudo -u postgres createuser -D -P your-current-ubuntu-username 

i

sudo -u postgres createdb -O your-current-ubuntu-username your-database 

otworzyć ten plik /etc/postgresql/9.1/main/pg_hba.conf

zmienić tylko ten wiersz:

local all    all          peer 

do tego:

local all    all          md5 

Nie zapomnij zrestartować serwer postgres'owy:

sudo service postgresql restart 

Teraz sprawdź, z tym poleceniem

psql -d your-database -U your-current-ubuntu-username -W 

powinno praca

Rozwiązanie to działa dla postgresql-9.1, oto sposobem zainstalowania

sudo apt-get install postgresql-9.1 
+0

Dla mnie pomocną częścią tej odpowiedzi była zmiana pg_hba.conf. To było inne niż inne posty, które czytałem. – IAmNaN

+0

Cieszę się, że pracuje dla ciebie –

+0

Zgadzam się z @AmNaN, dobre notatki, dzięki –

1

Chciałbym zaproponować nieco inne podejście, które wykorzystuje zamiast tego gniazdo plików.

Pozwalając użytkownikowi na dostęp do bazy danych z poziomu , wszystko powinno działać bez specjalnych parametrów połączenia.

W linii komend Ubuntu:

createuser -U postgres your-current-ubuntu-username

zobaczyć Manpage of createuser szczegóły.

W bazie danych.yml:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: sample-app_development 
    pool: 5 
    username: your-current-ubuntu-username 
    password: 
+0

createuser -U Postgres railpg Czy nowa rola będzie superużytkownikiem? (y/n) y createuser: nie można połączyć się z postgresiem bazy danych: FATAL: uwierzytelnienie Peer nie powiodło się dla użytkownika "postgres" –

+0

Pojawia się błąd powyżej –

+0

Notatka boczna: Po poprawnym skonfigurowaniu można łatwo przeglądać bazy danych za pomocą pgAdmin III ('sudo apt-get install pgadmin3'), podając tę ​​ścieżkę jako opcję" Serwer ": **/var/run/postgresql ** (jeśli PG jest zainstalowany w domyślnych lokalizacjach/np. przez apt-get). – user569825

Powiązane problemy