जबकि मुझे इसमें कोई संदेह नहीं है कि ब्योर्न निल्सन के उत्तर ने इसे पोस्ट करते समय काम किया, यह मेरे लिए पोस्टग्रेज 9.4
के साथ विफल हो रहा है और पीजी रत्न संस्करण 0.18.2
. पीजी मणि दस्तावेज़ीकरण को देखने के बाद मुझे निम्नलिखित काम करने के लिए मिला है:
pg = ActiveRecord::Base.connection
@type_map ||= PG::BasicTypeMapForResults.new(pg.raw_connection)
res = pg.execute("SELECT 'abc'::TEXT AS a, 123::INTEGER AS b, 1.23::FLOAT;")
res.type_map = @type_map
res[0]
# => {"a"=>"abc", "b"=>123, "float8"=>1.23}