"boolean"
when "tinyblob"
"bytea"
+ when "longblob"
+ "bytea"
when "blob"
"bytea"
when "tinytext"
class PostgresDbWriter < PostgresWriter
def connection(hostname, login, password, database, port)
database, schema = database.split(":")
- @conn = PGconn.open(hostname, port.to_s, '', '', database, login, password)
+ @conn = PGconn.new(hostname, port.to_s, '', '', database, login, password)
@conn.exec("SET search_path TO #{PGconn.quote_ident(schema)}") if schema
end
end
end
end
- @conn.putline(row.join("\t") + "\n")
+ @conn.put_copy_data(row.join("\t") + "\n")
if counter != 0 && counter % 20000 == 0
elapsedTime = Time.now - _time1
end
if counter % 5000 == 0
- @conn.endcopy
+ @conn.put_copy_end
@conn.exec(copy_line)
end
_time2 = Time.now
puts "\n#{_counter} rows loaded in #{((_time2 - _time1) / 60).round}min #{((_time2 - _time1) % 60).round}s"
# @conn.putline(".\n")
- @conn.endcopy
+ @conn.put_copy_end
end
def close