1
Rubyを使用してPostgreSQLからbytea
カラムを読み込もうとしています。 問題は、bytea
値の16進数でエンコードされた文字列を返すことです。 File.read()
と同じ内容のバイナリファイルを開くのとまったく同じように返すことができます。私は私が正しくbytea
列をデコードするPG::TextDecoder::Bytea
を使用する必要があると思うRubyのPostgreSQL Byteaカラムを読む
require 'pg'
conn = PG.connect(...)
res = conn.exec('SELECT bytea_column FROM some_table')
res.each do |r|
raw = r['bytea_column']
puts "#{raw}"
end
:
以下は、私に進エンコードされた値を提供します。これは正しいです?もしそうなら、どのくらい正確に使用されるはずですか?
Rubyで避けるべきことの1つは、「x」ではなく「#{x}」です。そのような引用符で囲む理由はありません。 'puts'は必要と感じたら文字列に変換します。 – tadman