Połącz się z bazą danych heroku za pomocą pgadmin

181

Chciałbym zarządzać moją bazą danych heroku z pgadminklientem. Do tej pory robiłem to z psql. Kiedy używam danych z heroku pg:credentialsdo połączenia de DB za pomocą pgadmin, otrzymuję:

Wystąpił błąd:

Błąd połączenia z serwerem: FATAL: odmowa dostępu do bazy danych „postgres” SZCZEGÓŁ: Użytkownik nie ma uprawnień POŁĄCZ.

Jakiś przewodnik, jak uzyskać połączenie?

Tomas Romero
źródło
1
Dziękuję, że zadałeś to pytanie, po prostu nie wiedziałem, że jest to możliwe
Slow Harry

Odpowiedzi:

327

Otwórz „Właściwości” serwera Heroku w pgAdminIII i zmień wartość „Maintenance DB” na nazwę bazy danych, z którą chcesz się połączyć.

pgAdmin III - Rejestracja nowego serwera

Domyślna konfiguracja jest odpowiednia dla DBA i innych, którzy mogą łączyć się z dowolną bazą danych na serwerze, ale najwyraźniej nie jest to prawdą w twoim przypadku.

araqnid
źródło
9
Jak zasugerowano w innej odpowiedzi , musisz włączyć protokół SSL, wybierając również opcję „SSL | SSL | wymagają” w oknie dialogowym połączenia, w przeciwnym razie połączenie nadal się nie powiedzie.
Brad Parks,
jeśli masz aplikację Rails, możesz uzyskać dostęp do DB za pomocą github.com/igorkasyanchuk/rails_db
Igor Kasyanchuk
Pojawia się błąd na pgadmin 3, że serwer, z którym próbujesz się połączyć, nie znajduje się między 8.4 a 9.3 i łączy się, ale wyświetla listę 159 baz danych z wyskakującymi oknami przez cały czas.
Abhishek
3
To właśnie przestało dla mnie działać? Czy to nadal działa dla kogoś?
Rune Jeppesen
@Ced tak, ja też teraz - Windows postanowił włączyć zaporę ogniową i zablokować ten port: - /
Rune Jeppesen
102

Po zmianie nazwy DB konserwacji, zgodnie z sugestią araqnid powyżej , należy również dodać bazę danych do pola Ograniczenia DB, ponieważ bez tego zobaczysz tysiące baz danych i możesz nie być w stanie znaleźć Twojej na liście, jeśli lista jest za długo.

Więcej informacji tutaj - Jak ukryć bazy danych, do których nie mam dostępu

cm12
źródło
5
+1 i dodając nazwę db, pamiętaj o jej cytowaniu w pojedynczych cudzysłowach, ponieważ będzie ona używana do dynamicznego generowania INklauzuli do filtrowania listy db.
Glenn
20

Wymagamy SSL dla połączeń poza heroku. Sprawdź, czy wymuszasz SSL w swoim kliencie.

Edytować:

Odpowiedzi udzielono dokładniej tutaj: /dba/21869/connecting-pgadmin3-to-postgres-on-heroku

Nie zezwalamy na połączenia z postgresbazą danych, więc pamiętaj, aby ustawić Maintenance DB na nazwę swojej bazy danych i używać SSL.

Mam nadzieję, że to powinno wystarczyć.

hgmnz
źródło
2
Czy potrzebuję plików / kluczy, aby wymusić SSL? (przepraszam za ignorancję)
Tomas Romero,
zazwyczaj interfejsy graficzne mają gdzieś pole wyboru SSL. Nie używam pgadmin, ale na podstawie dokumentów [1] wygląda na to, że w oknie dialogowym konfiguracji połączenia znajduje się karta SSL. [1] pgadmin.org/docs/dev/connect.html
hgmnz
Kiedy kliknąłem kartę SSL, poprosił mnie o certyfikaty i klucz, i nie znałem ich wartości. Chociaż, kup ustawienie ustawienia nazwy DB konserwacji na moją nazwę DB heroku, mogłem połączyć się konfigurując tylko kartę „Właściwości”, bez konieczności określania niczego na temat SSL (najwyraźniej odbywa się to automatycznie)
Tomas Romero,
10

Zmień bazę danych konserwacji na nazwę bazy danych, np. Dva70000p0090. To powinno działać.

ravi
źródło