2010-01-30 25 views
29

Daha önce hiç yanıt almayan bir question sordum.url'yi kullanarak postgresql'e bağlanma

Temelde heroku db:push yapmayı denediğimde invalid database url hata alıyorum.

Veritabanı url'sini açıkça sağlamayı deneyebileceğimi düşündüm.

Denedim:

heroku db:push postgres://[email protected]/myrailsdb

Ama bu hata verdi:

Failed to connect to database: 
    Sequel::DatabaseConnectionError -> PGError fe_sendauth: no password supplied 

kullanıcı adı ve şifre için biçimi nedir?

cevap

47

heroku db:push postgres://username:[email protected]/myrailsdb ürününü deneyin.

+0

Yerel db kullanıcınız parola içermiyorsa ne olur? – mkirk

+3

Sadece şifreyi damla, yani 'postgres itmek db: // kullanıcıadı @ localhost/myrailsdb' –

+1

şifre verilirse, bu veritabanına bağlanmak için başarısız bir hatayı verecektir: Sequel :: DatabaseConnectionError -> PGError fe_sendauth : Şifre yok – user181677

5

Postgresql yapılandırmanızı (pg_hba.conf) düzenleyin ve 'ana bilgisayar' türü yöntemini 'güven' olarak değiştirin. Ancak bunun güvenli olmadığını unutmayın.

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          trust 
# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
host all    all    ::1/128     md5 
sizin postgresql Sunucuyu yeniden başlatın ve benim cevap referanstır komutu İşte

$ heroku db:push postgres://[email protected]/myrailsdb 

yeniden çalıştırmak

: https://stackoverflow.com/a/7667344/181677

+0

pg_hba.conf dosyası nerede bulunuyor? – kibaekr

+0

aslında buldu. ubuntu için, Debian/Ubuntu: /etc/postgresql/9.0/main/pg_hba.conf – kibaekr

8
İşte

Ruby senaryoya nasıl yapılacağı açıklanmıştır:

# Connect to database. 
uri = URI.parse(ENV['DATABASE_URL']) 
postgres = PG.connect(uri.hostname, uri.port, nil, nil, uri.path[1..-1], uri.user, uri.password) 

# List all tables. 
tables = postgres.exec('SELECT * FROM pg_catalog.pg_tables') 
tables.num_tuples.times do |i| 
    p tables[i] 
end 
+0

İthalatınız/ihtiyacınız nedir? – Nick

+0

, 'uri' gerektirir – Nick

1

Heroku cli komutu değiştirdi.

heroku pg:push postgres://username:[email protected]/myrailsdb 
İlgili konular