Подключитесь к базе данных heroku с помощью pgadmin

181

Я хотел бы управлять моей базой данных heroku с pgadminклиентом. К настоящему времени я делаю это с psql. Когда я использую данные heroku pg:credentialsдля подключения де БД с помощьюpgadmin , я получаю:

Произошла ошибка:

Ошибка подключения к серверу: FATAL: отказано в разрешении для базы данных "postgres" ПОДРОБНОЕ: У пользователя нет привилегии CONNECT.

Любое руководство о том, как установить соединение?

Томас Ромеро
источник
1
Спасибо, что задали этот вопрос, я просто не знал, что это возможно
Slow Harry

Ответы:

327

Откройте «Свойства» сервера Heroku в pgAdminIII и измените значение «Maintenance DB» на имя базы данных, к которой вы хотите подключиться.

pgAdmin III - регистрация нового сервера

Настройка по умолчанию подходит для администраторов баз данных и других, которые могут подключаться к любой базе данных на сервере, но, очевидно, это не так в вашем случае.

araqnid
источник
9
Как предлагается в другом ответе , вам нужно включить SSL, выбрав «SSL | SSL | require» также в диалоговом окне подключения, иначе соединение все равно не будет установлено.
Брэд Паркс
если у вас есть приложение Rails, вы можете получить доступ к БД с помощью github.com/igorkasyanchuk/rails_db
Игорь Касьянчук,
Я получаю сообщение об ошибке на pgadmin 3, что сервер, к которому вы пытаетесь подключиться, не находится между 8.4 и 9.3, и он подключается, но показывает список из 159 баз данных с сообщениями об ошибках все время.
Абхишек
3
Это просто перестало работать на меня? Это все еще работает для кого-либо?
Руна
@Ced да, я тоже сейчас - Windows решила включить мой брандмауэр и заблокировать этот порт: - /
Rune Jeppesen
102

После того, как вы измените имя БД обслуживания, как предложено в ответе araqnid выше , вы также должны добавить свою базу данных в поле ограничений БД, поскольку без этого вы увидите тысячи баз данных и, возможно, не сможете найти свою в списке, если список слишком долго.

Подробнее здесь - Как скрыть базы данных, к которым у меня нет доступа

CM12
источник
5
+1 и при добавлении имени базы данных обязательно указывайте его в одинарных кавычках, поскольку оно будет использоваться для динамического создания INпредложения для фильтрации списка БД.
Гленн
20

Мы требуем SSL для подключения вне геройку. Пожалуйста, проверьте, используете ли вы SSL в вашем клиенте.

Редактировать:

Более подробный ответ здесь: /dba/21869/connecting-pgadmin3-to-postgres-on-heroku

Мы не разрешаем подключения к postgresбазе данных, поэтому убедитесь, что для Maintenance DB указано имя вашей базы данных, и обязательно используйте SSL.

Надеюсь, этого должно хватить.

hgmnz
источник
2
Нужны ли какие-либо файлы / ключи для принудительного использования SSL? (извините за невежество)
Томас Ромеро
как правило, графические интерфейсы имеют где-нибудь флажок SSL. Я не использую pgadmin, но на основании документации [1] похоже, что в диалоге конфигурации соединения есть вкладка SSL. [1] pgadmin.org/docs/dev/connect.html
hgmnz
Когда я щелкнул вкладку SSL, он попросил у меня сертификаты и ключ, и я не знал значений для них. Хотя, купив настройку имени БД для обслуживания на имя моей герои БД, я мог подключиться, настраивая только вкладку «Свойства», не указывая ничего для SSL (это делается, по-видимому, автоматически)
Томас Ромеро
10

Измените базу данных обслуживания на имя вашей базы данных, например, dva70000p0090. Это должно работать.

Рави
источник