Підключіться до бази даних heroku за допомогою pgadmin


181

Я хотів би керувати своєю базою даних heroku з pgadminклієнтом. До цього часу я займався цим psql. Коли я використовую дані з heroku pg:credentialsпідключення de DB за допомогою pgadmin, я отримую:

Сталася помилка:

Помилка підключення до сервера: FATAL: відмовлено в дозволі на базу даних "postgres" ДЕТАЛІ: Користувач не має права CONNECT.

Будь-яке керівництво про те, як досягти з'єднання?


1
Дякую, що задали це запитання, я просто не знав, що це можливо
Повільний Гаррі

Відповіді:


327

Відкрийте "Властивості" сервера Heroku в pgAdminIII та змініть значення "DB обслуговування", щоб воно було назвою бази даних, до якої потрібно підключитися.

pgAdmin III - Нова реєстрація сервера

Установка за замовчуванням підходить для DBA та інших, які можуть підключитися до будь-якої бази даних на сервері, але, мабуть, це не відповідає дійсності у вашому випадку.


9
Як запропоновано в іншій відповіді , вам потрібно ввімкнути SSL, вибравши "SSL | SSL | вимагати" в діалоговому вікні з'єднання, інакше він все одно не вдасться підключитися.
Бред Паркс

якщо у вас є програма Rails, ви можете отримати доступ до БД за допомогою github.com/igorkasyanchuk/rails_db
Ігор

Я отримую помилку на pgadmin 3, що сервер, до якого ви намагаєтеся підключитися, не знаходиться між 8.4 та 9.3, і він підключається, але показує список 159 баз даних із спливаючими помилками весь час.
Абхішек

3
Це просто перестало працювати для мене? Це все ще працює для когось?
Rune Jeppesen

@Ced так мені і зараз - Windows вирішила ввімкнути мій брандмауер і заблокувати цей порт: - /
Rune Jeppesen

102

Після того як ви зміните ім'я БД технічного обслуговування, як це запропоновано у відповіді araqnid вище , ви також повинні додати свою базу даних у поле обмежень БД, оскільки без цього ви побачите тисячі баз даних, і, можливо, ви не зможете знайти своє у списку, якщо список буде надто довго.

Більше деталей тут - Як приховати бази даних, до яких я не маю доступу


5
+1, і додаючи ім'я db, обов'язково цитуйте його в одиничних лапках, оскільки воно буде використовуватися для динамічного генерування INпункту для фільтрації списку db.
Гленн

20

Нам потрібен SSL для з'єднань поза heroku. Перевірте, чи ви примушуєте SSL у своєму клієнті.

Редагувати:

Більш ретельно відповіли тут: /dba/21869/connecting-pgadmin3-to-postgres-on-heroku

Ми не дозволяємо з'єднатись із postgresбазою даних, тому не забудьте встановити БД обслуговування на ім’я бази даних та обов’язково використовуйте SSL.

Це, сподіваємось, достатньо.


2
Чи потрібні мені будь-які файли / ключі, щоб примусити SSL? (вибачте мене за невігластво)
Томаш Ромеро

Зазвичай графічні інтерфейси десь мають прапорець SSL. Я не використовую pgadmin, але на основі документів [1] схоже, що в діалоговому вікні конфігурації з'єднання є вкладка SSL. [1] pgadmin.org/docs/dev/connect.html
hgmnz

Коли я натиснув вкладку SSL, він запитав у мене сертифікати та ключ, і я не знав значень для них. Хоча, купівля налаштування імені БД з обслуговування на моє ім'я БД heroku, я міг би з'єднати конфігуруючи лише вкладку "Властивості", не вказуючи нічого про SSL (це робиться, мабуть, автоматично)
Tomas Romero

10

Змініть базу даних технічного обслуговування на назву вашої бази даних, наприклад, два70000p0090. Це має спрацювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.