Integraci贸n de node-postgres con NestJS

6/33
Recursos
npm i pg 
npm i @types/pg -D
// src/app.module.ts

import { Client } from 'pg';

const client = new Client({
  user: 'root',
  host: 'localhost',
  database: 'my_db',
  password: '123456',
  port: 5432,
});

client.connect();
client.query('SELECT * FROM tasks', (err, res) => {
  console.error(err);
  console.log(res.rows);
});

Aportes 8

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

like si tambi茅n te asustaste con el sonido del minuto 1:08 jajaja

Si al momento de ejecutar el sistema les aparece un error como este error: la autentificaci锟絥 password fall锟 para el usuario 锟絩oot锟 una de las razones es que antes ya usamos postgres y tenemos el servicio corriendo en nuestro PC, para evitar ese conflicto podemos modificar el puerto que exponemos del contenedor docker, por ejemplo:

  postgres:
    image: postgres:13
    environment:
      - POSTGRES_DB=my_db
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=123456
    ports:
      - '5433:5432'  # 馃憟馃徎Ac谩 le decimos que dentro del contenedor el puerto que usar谩 es el 5432 y para que nosotros usemos fuera del contenedor le decimo que exponga el puerto 5433
    volumes:
      - ./postgres_data:/var/lib/postgresql/data

Ahora debemos modificar nuestra conexi贸n a la bd de la siguiente manera

// app.module.ts
const client = new Client({
  user: 'root',
  host: 'localhost',
  database: 'my_db',
  password: '123456',
  port: 5433, // 馃憟馃徎 ac谩 colocamos el puerto que estamos exponiendo del contenedor
});

De esta manera podemos seguir trabajando con nuestro contenedor, sin afectar al servicio postgres que ten铆amos anteriormente en nuestra PC.

en mi caso sale este error

(node:18280) UnhandledPromiseRejectionWarning: error: password authentication failed for user "root"

no se cual sea el error ya que tengo todo igual
ah铆 dice sobre el password pero como dije tengo el mismo 123456 lo mismo el el archivo .yml

Quiza a alguien le haya pasado lo mismo

Top ediciones de video mas zarpadas 馃槑馃敟

En mi caso me aparec铆a el siguiente error:

Error: connect ECONNREFUSED 127.0.0.1:5432
  at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) {
  errno: -111,   code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 5432

Para solucionarlo, tuve que cambiar el puerto de la configuracion de Postgres y agregar la red a la cual iba a estar:

version: '3.3'

services:
  postgres:
    container_name: postgres
    image: postgres:13
    environment:
     - POSTGRES_DB=my_db
     - POSTGRES_USER=root
     - POSTGRES_PASSWORD=123456
    ports:
      - "5432:5432"
    volumes:
      - ./postgres_data2:/var/lib/postgresql/data
    networks:
      - postgres
  pgadmin:
    image: dpage/pgadmin4
    environment:
      - [email protected]
      - PGADMIN_DEFAULT_PASSWORD=root
    ports:
      - "5050:80"
    networks:
      - postgres
networks:
  postgres:
    driver: bridge

en mi app.module.ts

const client = new Client({
	user: 'root',
	host:'localhost',
  password: '123456',
  database: 'my_db',
	port: 5432,
});

Si alguien tiene el siguiente error cuando intenta conectar con la base de datos:
(node:18280) UnhandledPromiseRejectionWarning: error: password authentication failed foruser 鈥渞oot鈥

La soluci贸n en Windows es ir a los servicios, buscar el servicio con el nombre 鈥減ostgresql-x64-13 - PostgreSQL Server 13鈥 dar click derecho y parar (stop).

Estaba teniendo un error a la hora de conectar a Postgres y revisando me di cuenta que ya lo ten贸a instalado localmente. Recomiendo revisar si les aparece el mismo error. No vaya a ser que ya tengan Postgres localmente y no conecte a Docker.

馃憦