2015-05-17 21 views
6

AWS AMI'yi gitlab'den çalıştırıyorum. Postgre veritabanına doğrudan psql kullanarak erişmeye çalışıyorum. Ben raylar uygulama iyi çalışıyor çünkü ben sadece database.yml kimlik bilgilerini kullanabileceğini düşündüm:gitlab veritabanına doğrudan erişim

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

Ama olsun:

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

nasıl raylar uygulama veritabanı süre bağlanırken edilebilir psql yapamaz mı?

+0

@Daniel kızılağaç en comment doğru yönde gözlerimi çekti: 'ubuntu @ gitlab: ~ $ sudo -u gitlab-psql'in/opt/gitlab/gömülü/bin/psql -h/var/opt/gitlab/postgresql/gitlabhq_production psql'in: sunucuya bağlanamadı: böyle bir dosya ya da dizin \t sunucu yerel olarak çalışan ve Unix alan soketi "/var/opt/gitlab/postgresql//.s.PGSQL.5432" konulu \t bağlantıları kabul mı? ubuntu @ gitlab: ~ $ sudo -a gitlab-psql/opt/gitlab/gömülü/bin/psql gitlabhq_production psql (9.2.9) Yardım için "yardım" yazın. gitlabhq_production = # ' – monteguy

cevap

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

Bu cevap benim için işe yarayanlara en yakın olanıdır. Bir hataya neden olarak '-h/var/opt/gitlab/postgresql /' bırakmak zorunda kaldım: 'psql: sunucuya bağlanılamadı: Bu tür bir dosya ya da dizin yok. 'gitlab-psql' kullanıcının ev dir dir. – monteguy

4

adresinden öğrenmiş ve bunun hakkında bir issue bulunmuştur. D

+0

Sorunu gerçekten çözmüyorum çünkü bu size bir süper kullanıcı veritabanı erişimi sağlamıyor. – sorin

0

Ama bu size tam erişim izni yapar::

yüzden, sadece sudo gitlab-rails dbconsole yazın

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

dikkate değer şekilde cevabımın yakınında. ve '-d 'gerçekten bir fark yaratmıyor –

0

su - git
/opt/gitlab/gömülü/bin/psql -U gitlabhq_production -h/var/opt/gitlab/postgresql

Gitlab-ce ve gömülü postgres ile bana çalışır. Daha iyi interaktif çalışma için isteğe bağlı olarak bir bash başlat. (unix) -user git postgresuser gitlab için bir eş gibi görünüyor, bir parola (/var/opt/gitlab/postgresql/data/pg_hba.conf) olmadan doğrular.