Szukałem tego samego pytania, ale nie znalazłem jeszcze rozwiązania. Dzięki bibliotece asynchronicznej bardzo łatwo jest użyć zapytania kilka razy i wykonać niezbędną obsługę błędów.
Może ten wariant kodu pomaga.(wstawienie 10 000 małych obiektów json do pustej bazy danych zajęło 6 sekund).
Krzysztof
Funkcjafunction insertData(item,callback) {
client.query('INSERT INTO subscriptions (subscription_guid, employer_guid, employee_guid)
values ($1,$2,$3)', [
item.subscription_guid,
item.employer_guid,
item.employee_guid
],
function(err,result) {
// return any err to async.each iterator
callback(err);
})
}
async.each(datasetArr,insertData,function(err) {
// Release the client to the pg module
done();
if (err) {
set_response(500, err, res);
logger.error('error running query', err);
return console.error('error running query', err);
}
logger.info('subscription with created');
set_response(201);
})