Nodo.js, pg, postgresql y consultas de inserción (cuelga la aplicación)

Tengo la siguiente aplicación de nodo simple para la inserción de datos en la base de datos de Postgres:

var pg = require('pg'); var dbUrl = 'tcp://user:psw@localhost:5432/test-db'; pg.connect(dbUrl, function(err, client, done) { for (var i = 0; i < 1000; i++) { client.query( 'INSERT into post1 (title, body, created_at) VALUES($1, $2, $3) RETURNING id', ['title', 'long... body...', new Date()], function(err, result) { if (err) { console.log(err); } else { console.log('row inserted with id: ' + result.rows[0].id); } }); } }); 

Después de ejecutar node app.js en el terminal, inserta 1000 filas en la base de datos, luego la aplicación se cuelga y no termina. ¿Que estoy haciendo mal? He mirado en los ejemplos del módulo pg, pero no me di cuenta de que estaba haciendo algo diferente …

Perdí la llamada al client.end (); Ahora la aplicación sale correctamente:

 pg.connect(dbUrl, function(err, client, done) { var i = 0, count = 0; for (i = 0; i < 1000; i++) { client.query( 'INSERT into post1 (title, body, created_at) VALUES($1, $2, $3) RETURNING id', ['title', 'long... body...', new Date()], function(err, result) { if (err) { console.log(err); } else { console.log('row inserted with id: ' + result.rows[0].id); } count++; console.log('count = ' + count); if (count == 1000) { console.log('Client will end now!!!'); client.end(); } }); } });