Heroku でホストされている Postgres データベースに接続しようとする Ruby スクリプトを作成しました。
ハードコードされたパスワードを使用するか、または を使用してパスワードをロードするとgets
、すべて正常に動作します。ただし、を使用してパスワードをロードするとIO.noecho
、次の例外が発生します。
storing.rb:11:in `initialize': FATAL: password authentication failed for user "***" (PG::ConnectionBad)
FATAL: no pg_hba.conf entry for host "****", user "***", database "***", SSL off
from storing.rb:11:in `new'
from storing.rb:11:in `create_conn'
from fetch_currencies.rb:11:in `<main>'
これが私のコードです:
def create_conn(password)
conn = PGconn.connect(
:host => '***',
:port => 5432,
:dbname => '***',
:user => '***',
:password => password)
return conn
end
puts 'Postgres DB password:'
pass = STDIN.noecho(&:gets)
conn = create_conn(pass)
パスワードを読み込んだ後、パスワードを印刷してみました。また、それが文字列かどうかを確認しましたが、すべて問題ないようです。何が問題なのですか?