2015-05-17 22 views
6

Tôi đang chạy AWS AMI từ gitlab. Tôi đang cố gắng truy cập cơ sở dữ liệu postgres trực tiếp bằng cách sử dụng psql. Tôi nghĩ tôi chỉ có thể sử dụng các thông tin trong database.yml, kể từ khi áp dụng đường ray đang làm việc tốt:truy cập trực tiếp vào cơ sở dữ liệu gitlab

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

Nhưng tôi nhận được:

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

Làm thế nào ứng dụng đường ray có thể được kết nối với cơ sở dữ liệu trong khi psql không thể?

+0

Nhận xét của @Daniel Alder đã chỉ cho tôi đúng hướng: 'ubuntu @ gitlab: ~ $ sudo -u gitlab-psql/opt/gitlab/nhúng/bin/psql -h/var/opt/gitlab/postgresql/gitlabhq_production psql: không thể kết nối với máy chủ: Không có tệp hoặc thư mục nào như vậy \t Máy chủ có chạy cục bộ và chấp nhận các kết nối \t trên ổ cắm miền Unix "/var/opt/gitlab/postgresql//.s.PGSQL.5432" không? ubuntu @ gitlab: ~ $ sudo -u gitlab-psql/opt/gitlab/nhúng/bin/psql gitlabhq_production psql (9.2.9) Nhập "trợ giúp" để được trợ giúp. gitlabhq_production = # ' – monteguy

Trả lời

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

Câu trả lời này gần nhất với những gì đã kết thúc với tôi. Mặc dù vậy, tôi đã phải thoát khỏi '-h/var/opt/gitlab/postgresql /', vì nó gây ra lỗi: 'psql: không thể kết nối với máy chủ: Không có tệp hoặc thư mục', mặc dù thư mục đó tồn tại và là thư mục nhà của người dùng 'gitlab-psql'. – monteguy

4

googled và tìm thấy một issue về việc này.

như vậy, chỉ cần gõ sudo gitlab-rails dbconsole: D

+0

Không thực sự giải quyết vấn đề vì điều này không cung cấp cho bạn quyền truy cập cơ sở dữ liệu superuser. – sorin

0

Nhưng có một điều này cung cấp cho bạn truy cập đầy đủ:

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

đáng kể gần với câu trả lời của tôi. và '-d' không thực sự tạo nên sự khác biệt –

0

su - git
/opt/gitlab/nhúng/bin/psql -U gitlab -d gitlabhq_production -h/var/opt/gitlab/postgresql

làm việc cho tôi với gitlab-ce và postgres được nhúng. Tùy chọn để làm việc tương tác tốt hơn bắt đầu một bash như git. Git (unix) -user git có vẻ ngang hàng với gitlab postgresuser, xác thực mà không có mật khẩu (/var/opt/gitlab/postgresql/data/pg_hba.conf).

Các vấn đề liên quan