Підключіться до бази даних 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.