Como Criar Query Manual Com Nodejs Postgres

Enquanto desenvolvemos aplicações com NodeJS e Postgres, é comum usarmos ORM para facilitar o nosso desenvolvimento, como por exemplo, Sequelize.
O Sequelize nos fornece uma forma rápida e fácil de consultarmos dados em nosso banco, sem muitas preocupações!
Mas como fazemos, quando a consulta que o Sequelize está fazendo é muito complexa ou é inviável fazer por ele?

Podemos fazer nossas próprias consultas! Para isso usaremos um cara chamado Node-Postgres

Node-postgres nada mais é que uma API que nos permite conectar diretamente no banco de dados e executar nossas queries como se estivéssemos em nosso SGBD.
Vamos ver como usá-lo?

1
npm install pg

Agora instalado, precisamos nos conectar ao banco de dados:

1
2
3
4
5
6
7
8
9
10
const { Client } = require('pg')

const client = new Client({
user: 'dbuser',
host: 'database.server.com',
database: 'mydb',
password: 'secretpassword',
port: 3211,
})
client.connect()

Feito isso, temos uma conexão aberta!
E como fazer uma consulta simples?

1
2
3
4
client
.query('SELECT * from CLIENTS')
.then(res => console.log(res.rows[0]))
.catch(e => console.error(e.stack))

Fácil não é mesmo?
Agora é só juntar todo seu conhecimento com banco de dados e mandar bala em suas consultas!