Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

420
Vistas
Cómo leer desde el script postgresql en node.js

Uso el módulo pg para conectar la base de datos de postgres al proyecto node.js.

 const pg = require('pg') const pool = pg.Pool( { "user":"postgres", "password":"password", "host": "localhost", "db" : "db1" }); pool.connect(); pool.on('connect',(client)=> { client.query("insert into table1(id, name) values(1, "item1")") client.query("select * from table 1",(err, res)=>{ if( err) throw err; console.log(res); }); } )

Mi código sql está en un archivo llamado script.sql. Mi código es muy similar al anterior y quiero leer del archivo script.sql en lugar de poner el código sql dentro de la función de consulta como client.query("insert into table1(id, name) values(1, 'item1')") . ¿Hay alguna manera de hacerlo en el módulo pg o sugiere una forma efectiva de leer el script en node-postgres?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede leer el archivo sincrónicamente antes de que se inicie el servidor ( readFileSync bloquea el servidor):

 const pg = require('pg'); const { readFileSync } = require('fs'); const sqlInsert = readFileSync('insert.sql'); const sqlSelect = readFileSync('select.sql'); const pool = pg.Pool({ "user":"postgres", "password":"password", "host": "localhost", "db" : "db1" }); pool.connect(); pool.on('connect', client => { client.query(sqlInsert); client.query(sqlSelect, (err, res) => { if (err) throw err; console.log(res); }); });

o lea de forma asincrónica el archivo después de que se inicie el servidor:

 const pg = require('pg'); const { readFile } = require('fs'); const pool = pg.Pool({ "user":"postgres", "password":"password", "host": "localhost", "db" : "db1" }); pool.connect(); pool.on('connect', client => { readFile('insert.sql', sqlInsert => { client.query(sqlInsert); }); readFile('select.sql', sqlSelect => { client.query(sqlSelect, (err, res) => { if (err) throw err; console.log(res); }); }); });

También puede usar operaciones basadas en promesas en lugar de operaciones basadas en devolución de llamada:

 const pg = require('pg'); const { readFile } = require('fs/promises'); const pool = pg.Pool({ "user":"postgres", "password":"password", "host": "localhost", "db" : "db1" }); pool.connect(); pool.on('connect', async client => { await sqlInsert = readFile('insert.sql'); client.query(sqlInsert); await sqlInsert = readFile('select.sql') client.query(sqlSelect, (err, res) => { if (err) throw err; console.log(res); }); });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda