2015-05-17 12 views
6

Używam AWS AMI od gitlab. Próbuję uzyskać dostęp do bazy danych Postgres bezpośrednio za pomocą psql. Myślałem, że mogę po prostu użyć poświadczeń w database.yml, ponieważ aplikacja szyny działa poprawnie:bezpośredni dostęp do bazy danych gitlab

/opt/gitlab/embedded/bin/psql -U gitlab -d gitlabhq_production 

Ale otrzymuję:

psql: FATAL: Peer authentication failed for user "gitlab" 

Jak aplikacja szyny być podłączenie do bazy chwilę psql nie może?

+0

@Daniel Alder wskazał Moi właściwym kierunku: 'ubuntu @ gitlab: ~ $ sudo -u gitlab-psql/opt/gitlab/embedded/bin/psql -h/var/opt/gitlab/PostgreSQL/gitlabhq_production psql: nie można połączyć się z serwerem: nie ma takiego pliku lub katalogu \t czy serwer działa lokalnie i akceptując \t połączenia na Unix gniazda domeny „/var/opt/gitlab/postgresql//.s.PGSQL.5432”? ubuntu @ gitlab: ~ $ sudo -u gitlab-psql/opt/gitlab/embedded/bin/psql gitlabhq_production psql (9.2.9) Wpisz "help", aby uzyskać pomoc. gitlabhq_production = # ' – monteguy

Odpowiedz

12
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql/ gitlabhq_production 
+0

Ta odpowiedź jest najbliżej tego, co skończyło się dla mnie. Musiałem jednak opuścić '-h/var/opt/gitlab/postgresql /', ponieważ spowodowało to błąd: 'psql: nie mógł połączyć się z serwerem: nie ma takiego pliku lub katalogu', nawet jeśli katalog istnieje i jest katalogiem domowym użytkownika 'gitlab-psql'. – monteguy

4

Wyszukiwarka Google wyszukała i znalazła o tym issue.

tak, wystarczy wpisać sudo gitlab-rails dbconsole: D

+0

Naprawdę nie rozwiązuje problemu, ponieważ nie zapewnia on dostępu do bazy danych dla superużytkowników. – sorin

0

Ale to nie daje pełnego dostępu:

sudo -u gitlab-psql psql template1 
0
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production 
+0

niezwykle blisko mojej odpowiedzi. a '-d' nie ma znaczenia –

0

su - git
/opt/gitlab/embedded/bin/psql -U gitlab -d gitlabhq_production -h/var/opt/gitlab/postgresql

działa dla mnie z gitlab-ce i osadzonymi postgresami. Opcjonalnie dla lepszego interaktywnego działania uruchom bash jako git. (Unix) -użytkownik wydaje się być peerem do gitlaba postgresuser, uwierzytelnia się bez hasła (/var/opt/gitlab/postgresql/data/pg_hba.conf). Komentarz

Powiązane problemy