La mayoría de las aplicaciones del mundo real interactúan con las bases de datos de una forma u otra. Las bases de datos facilitan la persistencia, el análisis y la interacción con los datos.

La mayoría de los lenguajes de programación ofrecen soporte para conectar aplicaciones a bases de datos como PostgreSQL. Aprenda cómo puede usar el módulo node-postgres para conectar una aplicación Node a PostgreSQL.

Cómo empezar

Para comenzar conectándose a una base de datos local, necesitará tener la Servidor PostgreSQL instalado.

PostgresSQL es uno de los sistemas de bases de datos relacionales más comunes por su flexibilidad y potencia. Puede considerar usarlo como una alternativa a MySQL si su proyecto es complejo o si está buscando una solución que adopte el espíritu de código abierto.

Crear una aplicación de nodo

El primer paso es crear una aplicación de Nodo que usará para probar el código de conexión. En su carpeta preferida, cree una nueva carpeta.

mkdir postgres-nodo

Navegue a la carpeta que creó e inicialice npm.

instagram viewer
discos compactos postgres-nodo
npm inicializar -y

Este comando debe generar un paquete.json expediente.

A continuación, cree un nuevo archivo y asígnele un nombre índice.js. Conectará Node a PostgreSQL en este archivo.

Usar el módulo node-postgres

los nodo-postgres module es un paquete npm que le permite conectarse e interactuar con una base de datos PostgreSQL. Hay dos opciones que puede usar para conectar Node con PostgreSQL usando el módulo node-postgres: un solo cliente o un grupo de conexiones. Entonces, ¿qué debes usar?

Use un solo cliente si solo necesita una conexión estática a la vez. Sin embargo, si necesita usar solicitudes simultáneas y múltiples, use un grupo de conexiones.

Instalar nodo-postgres

Ejecute el siguiente comando en su terminal para instalar node-postgres.

npm Instalar en pc pág.

Si usa el nodo >= 14.x, deberá instalar [email protected] más tarde. Puede especificar el número de versión agregándolo al comando de instalación como este.

npm Instalar en pc pg=8.7.3

Conexión a PostgreSQL

El módulo node-postgres requiere los siguientes valores para conectarse a una base de datos PostgreSQL.

  • PGUSER: nombre de usuario de PostgreSQL para conectarse.
  • PGHOST: el nombre del host del servidor al que conectarse.
  • PGPASSWORD: la contraseña del servidor PostgreSQL.
  • PGDATABASE: el nombre de la base de datos a la que se está conectando.
  • PGPORT: el número de puerto al que conectarse en el host del servidor.

Cree un archivo .env y agregue estas variables, sustituyendo los valores correspondientes de su base de datos:

PGUSER=<PGUSER>
PHOST=<PHOST>
CONTRASEÑA PG=<CONTRASEÑA PG>
BASEDATOSPG=<BASE DE DATOS DE PG>
PUERTOPG=<PUERTOPG>

Instale el paquete dotenv para acceder al archivo .env.

npm Instalar en pc dotenv

En índice.js, importar y configurar dotenv.

constante dotenv = requerir("dotenv")
dotenv.config()

Conéctese a una base de datos PostgreSQL usando un solo cliente

El siguiente código muestra cómo puede conectar Node a un servidor PostgreSQL usando un solo cliente.

constante { Cliente } = requerir("pág")
constante dotenv = requerir("dotenv")
dotenv.config()

constante conectarDb = asíncrono () => {
probar {
constante cliente = nuevo Cliente({
usuario: proceso.env.PGUSUARIO,
anfitrión: proceso.env.PGHOST,
base de datos: proceso.env.PGDATABASE,
clave: proceso.env.PGCONTRASEÑA,
Puerto: proceso.env.PGPORT
})

esperar cliente.conectar()
const res = esperar cliente.consulta('SELECCIONE * DE alguna_mesa')
consola.registro (res)
esperar cliente.end()
} captura (error) {
consola.log (error)
}
}

conectarDb()

Uso de un grupo de conexiones

Como ya se mencionó, un grupo de conexiones le permite realizar múltiples solicitudes de conexión a su servidor.

constante { piscina } = requerir("pág");
constante dotenv = requerir("dotenv");
dotenv.config();

constante conectarDb = asíncrono () => {
probar {
constante piscina = nuevo Piscina({
usuario: proceso.env.PGUSUARIO,
anfitrión: proceso.env.PGHOST,
base de datos: proceso.env.PGDATABASE,
clave: proceso.env.PGCONTRASEÑA,
Puerto: proceso.env.PGPORT,
});

esperar grupo.conectar()
const res = espera grupo.consulta('SELECCIONE * DE clientela')
consola.registro (res)
esperar grupo.end()
} captura (error) {
consola.log (error)
}
}

conectarDb()

Los ejemplos anteriores le permiten controlar la configuración de la base de datos a través de un archivo .env. Sin embargo, también puede proporcionar estos valores de configuración utilizando variables de entorno estándar. Este enfoque le permite variar fácilmente la configuración en el momento de la puesta en marcha.

Considere el siguiente código de conexión.

constante conectarDb = asíncrono () => {
probar {
constante piscina = nuevo Piscina();
const res = espera grupo.consulta('SELECCIONE * DE clientela')
consola.registro (res)
esperar grupo.end()
} captura (error) {
consola.log (error)
}
}

En este programa, no está pasando el objeto de conexión como argumento al inicializar Pool. En su lugar, debe especificar los detalles de la conexión cuando invoque el programa de esta manera:

PGUSER=<PGUSER> \
PHOST=<PHOST> \
CONTRASEÑA PG=<CONTRASEÑA PG> \
BASEDATOSPG=<BASE DE DATOS DE PG> \
PUERTOPG=<PUERTOPG> \
nodoíndice.js

Conectar Node a PostgreSQL de esta manera le permite escribir un programa más reutilizable.

Hacer más con PostgreSQL

Para crear una aplicación que interactúe con bases de datos, primero debe conectarla a la base de datos. En este artículo, aprendió cómo conectar Node a una base de datos PostgreSQL usando el módulo node-Postgres.

Además de PostgreSQL, existen otros sistemas de administración de bases de datos como MySQL que puede usar en su aplicación. La herramienta de base de datos que elija debe ser la más compatible con sus necesidades de datos.