Kết nối với cơ sở dữ liệu heroku với pgadmin


181

Tôi muốn quản lý cơ sở dữ liệu heroku của tôi với pgadminkhách hàng. Đến bây giờ, tôi đã làm điều này với psql. Khi tôi sử dụng dữ liệu từ heroku pg:credentialsđể kết nối de DB bằng cách sử dụng pgadmin, tôi nhận được:

Một lỗi đã xảy ra:

Lỗi kết nối với máy chủ: FATAL: quyền bị từ chối đối với cơ sở dữ liệu "postgres" CHI TIẾT: Người dùng không có đặc quyền CONNECT.

Bất kỳ hướng dẫn về làm thế nào để đạt được kết nối?


1
Cảm ơn bạn đã hỏi câu hỏi này, tôi chỉ không biết rằng nó có thể
Slow Harry

Câu trả lời:


327

Mở "Thuộc tính" của máy chủ Heroku trong pgAdminIII và thay đổi giá trị "Bảo trì DB" thành tên của cơ sở dữ liệu bạn muốn kết nối.

pgAdmin III - Đăng ký máy chủ mới

Thiết lập mặc định phù hợp với các DBA và cộng sự có thể kết nối với bất kỳ cơ sở dữ liệu nào trên máy chủ, nhưng dường như điều đó không đúng trong trường hợp của bạn.


9
Như được đề xuất trong câu trả lời khác , bạn sẽ cần bật SSL bằng cách chọn "SSL | SSL | yêu cầu" trong hộp thoại kết nối, nếu không nó vẫn không thể kết nối.
Brad park

nếu bạn có Ứng dụng Rails, bạn có thể truy cập DB bằng github.com/igorkasyanchuk/rails_db
Igor Kasyanchuk

Tôi gặp lỗi trên pgadmin 3 rằng máy chủ bạn đang cố gắng kết nối không nằm trong khoảng từ 8.4 đến 9.3 và nó kết nối nhưng hiển thị danh sách 159 cơ sở dữ liệu có cửa sổ bật lên lỗi mọi lúc.
Abhishek

3
Điều này chỉ dừng lại làm việc cho tôi? Nó vẫn làm việc cho bất cứ ai?
Rune Jeppesen

@Ced vâng tôi cũng vậy - Windows đã quyết định bật tường lửa của tôi và chặn cổng đó: - /
Rune Jeppesen

102

Sau khi bạn thay đổi tên DB bảo trì như được đề xuất bởi câu trả lời của araqnid ở trên , bạn cũng nên thêm cơ sở dữ liệu của mình vào trường hạn chế DB vì nếu không có điều này, bạn sẽ thấy hàng ngàn cơ sở dữ liệu và bạn không thể tìm thấy danh sách của mình trong danh sách nếu danh sách là quá lâu.

Thêm chi tiết tại đây - Cách ẩn cơ sở dữ liệu mà tôi không được phép truy cập


5
+1 và khi thêm tên db, hãy chắc chắn trích dẫn nó trong các dấu ngoặc đơn vì nó sẽ được sử dụng để tạo động một INmệnh đề để lọc danh sách db.
Glenn

20

Chúng tôi yêu cầu SSL cho các kết nối bên ngoài heroku. Vui lòng xác minh xem bạn có buộc SSL trong máy khách của mình không.

Biên tập:

Đã trả lời kỹ hơn tại đây: /dba/21869/connecting-pgadmin3-to-postgres-on-heroku

Chúng tôi không cho phép kết nối với postgrescơ sở dữ liệu, vì vậy hãy chắc chắn đặt Bảo trì DB thành tên cơ sở dữ liệu của bạn và đảm bảo sử dụng SSL.

Điều đó hy vọng đủ.


2
Tôi có cần bất kỳ loại tệp / khóa nào để buộc SSL không? (xin lỗi cho sự thiếu hiểu biết)
Tomas Romero

thông thường các giao diện đồ họa có một hộp kiểm SSL ở đâu đó. Tôi không sử dụng pgadmin, nhưng dựa trên các tài liệu [1] có vẻ như có một tab SSL trong hộp thoại cấu hình kết nối. [1] pgadmin.org/docs/dev/connect.html
hgmnz

Khi tôi nhấp vào tab SSL, nó đã hỏi tôi chứng chỉ và khóa và tôi không biết các giá trị cho chúng. Mặc dù, mua cài đặt tên DB bảo trì thành tên DB heroku của tôi, tôi chỉ có thể kết nối cấu hình tab 'Thuộc tính' mà không phải chỉ định gì về SSL (điều này được thực hiện tự động)
Tomas Romero

10

Thay đổi Cơ sở dữ liệu bảo trì thành tên của Cơ sở dữ liệu của bạn, ví dụ: dva70000p0090. Điều này nên làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.