PgAdmin3'ü Heroku'da Postgres'e bağlama


9

Ben bir Django uygulaması ile ilişkili bir Heroku Postgres veritabanı ( Veritabanı ) çalıştırıyorum . Eklentiye başvuran dokümanlar burada . Bunun topluluk için değerli bir soru olacağını düşündüm çünkü Heroku, kullanıcılarını varsayılan olarak kullanılan paylaşılan veritabanı eklentisinden her şeyi taşıyacağı konusunda uyardı.

PgAdmin3'ü veritabanına bağlarken sorun yaşıyorum.

Yukarıdaki bağlantıdaki talimatlara göre, Veritabanı'nın kimlik bilgilerini aşağıdaki komutla alıyorum:

$ heroku pg:credentials HEROKU_POSTGRESQL_OLIVE

Mac OSX'te Postgresql'in homebrew kurulumunu kullanıyorum.

Bu arada, ben var:

  • pg_postgresql.conf dosyamda SSL'yi açtı;
  • ayarı ekledi: listen_addresses = '*'
  • ve ekledi host all all 0.0.0.0/0 md5
  • ve postgres sunucumu yeniden başlattım.

Sonra pgAdmin3'e gidip seçiyorum File > Add Server.

Heroku tarafından sağlanan kimlik bilgilerini aşağıdaki gibi giriyorum (ilki Heroku kimlik adı, ikincisi pgAdmin alan adı):

"Özellikler" Sekmesinde:

  • Ad içine dbname;
  • ana bilgisayara Host;
  • liman içine liman;
  • "Bakım Veritabanı" için pgAdmin alanını boş bırakıyorum;
  • kullanıcı adı;
  • Şifre Şifre;

SSL Sekmesinde:

  • SSL için alanım, "gerektirir" i seçiyorum (Heroku tarafından belirtildiği gibi).

Enter'a bastım ve pgAdmin düşünüyor, sonra aşağıdaki gibi bir hata atıyor:

An error has occurred:

Error connecting to the server: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.

Bu noktada ne yapacağınızdan emin değilim. Herhangi bir işaretçiler takdir ediyorum.


pgadmin.org/docs/1.8/connect.html diyor ki: The maintenance DB field is used to specify the initial database that pgAdmin connects to, and that will be expected to have the pgAgent schema and adminpack objects installed (both optional). On PostgreSQL 8.1 and above, the maintenance DB is normally called ‘postgres’- ve pgAdmin bağlanmaya çalıştı. postgresKullanıcı şifresini girin .
dezso

Yanıtlar:


6

Teşekkürler cevap için Yığın taşması @araqnid için buraya .

Alıntı: Verbatim

HeroK sunucusunun "Özellikler" i pgAdminIII'de açın ve "Bakım DB" değerini, bağlanmak istediğiniz veritabanının adı olarak değiştirin. Varsayılan kurulum, sunucudaki herhangi bir veritabanına bağlanabilen DBA'lar ve diğerleri için uygundur, ancak görünüşe göre bu sizin durumunuz için doğru değildir.

Bu benim için çalıştı!


ama bu 1368 veritabanını açtı. benim db adı olarak Bakım DB ekledim bile
Sunil Garg

3

FATAL: permission denied for database "postgres"postgres veritabanına bağlanmaya çalıştığını belirtir. Gerçekten böyle imtiyazlar vermiyoruz. Yine de kendi veritabanınıza bağlanabilirsiniz, bu iyi olmalı. Psql CLI aracılığıyla bağlanarak bunu kanıtlayabilirsiniz.

Görünüşe göre heroku'ları pgadmin'de dbnamedenilen bir şeye Nameayarlıyorsunuz. Bu, orada oluşturduğunuz şey için "bağlantı adı" gibi görünüyor (daha sonra başvurmak için rastgele bir şey), ancak gerçek veritabanı adını ayarlayabileceğiniz bir yer yok, bu yüzden varsayılan olarak değil postgresmi?

Ben bir pgadmin kullanıcısı değilim, sadece aşağıdakileri belirten bulunan dokümanlar [1] etrafında arama yapıyorum:

The maintenance DB field is used to specify the initial database that pgAdmin connects to.

Bunu deneyebilir misin?

[1] http://www.pgadmin.org/docs/dev/connect.html


1

Heroku'dan veritabanı kimlik bilgilerini almak için aşağıdaki komutu çalıştırın:

heroku pg:credentials DATABASE_URL

Ardından, db'ye bağlanmak için PG Commander veya PGAdmin gibi bir GUI aracı kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.