DB = Sequel.multi( :master => 'postgres://postgres:postgres@dbmaster:5432/reality', :slaves => [ 'postgres://postgres:postgres@dbslave1:5432/reality', 'postgres://postgres:postgres@dbslave2:5432/reality', 'postgres://postgres:postgres@dbslave3:5432/reality' ] ) master = opts[:master] slaves = opts[:slaves] slaves = [slaves] unless (Array === slaves) DB = Sequel(master) DB.pool.extend(Sequel::MasterSlavePool) DB.pool.prepare_slaves(slaves) module MasterSlavePool def prepare_slaves(slaves) @slaves = slaves @slave_pool = ConnectionPool.new() end def connect() end end