A maioria dos aplicativos do mundo real interage com bancos de dados de uma forma ou de outra. Os bancos de dados facilitam a persistência, a análise e a interação com os dados.

A maioria das linguagens de programação oferece suporte para conectar aplicativos a bancos de dados como PostgreSQL. Aprenda como você pode usar o módulo node-postgres para conectar um aplicativo Node ao PostgreSQL.

Como começar

Para começar conectando-se a um banco de dados local, você precisará ter o Servidor PostgreSQL instalado.

PostgresSQL é um dos sistemas de banco de dados relacionais mais comuns devido a sua flexibilidade e poder. Você pode considerar usá-lo como uma alternativa ao MySQL se seu projeto for complexo ou se você estiver procurando uma solução que abrace o ethos de código aberto.

Criar um aplicativo de nó

A primeira etapa é criar um aplicativo Node que você usará para testar o código de conexão. Na sua pasta preferida, crie uma nova pasta.

mkdir postgres-node

Navegue até a pasta que você criou e inicialize o npm.

instagram viewer
cd postgres-node
npm init -y

Este comando deve gerar um pacote.json Arquivo.

Em seguida, crie um novo arquivo e nomeie-o index.js. Você conectará o Node ao PostgreSQL neste arquivo.

Use o módulo node-postgres

o node-postgres module é um pacote npm que permite conectar e interagir com um banco de dados PostgreSQL. Existem duas opções que você pode usar para conectar o Node ao PostgreSQL usando o módulo node-postgres: um único cliente ou um pool de conexões. Então, o que você deve usar?

Use um único cliente se você precisar apenas de uma conexão estática por vez. No entanto, se você precisar usar solicitações simultâneas e múltiplas, use um pool de conexões.

Instalar node-postgres

Execute o seguinte comando em seu terminal para instalar o node-postgres.

npm instalar página

Se você usar node >= 14.x, será necessário instalar [email protected] o mais tarde. Você pode especificar o número da versão adicionando-o ao comando de instalação como este.

npm instalar pg=8.7.3

Conectando-se ao PostgreSQL

O módulo node-postgres requer os seguintes valores para se conectar a um banco de dados PostgreSQL.

  • PGUSER - Nome de usuário do PostgreSQL para se conectar.
  • PGHOST - O nome do host do servidor ao qual se conectar.
  • PGPASSWORD - A senha do servidor PostgreSQL.
  • PGDATABASE - O nome do banco de dados ao qual você está se conectando.
  • PGPORT - O número da porta para se conectar ao host do servidor.

Crie um arquivo .env e adicione essas variáveis, substituindo os valores correspondentes do seu banco de dados:

PGUSER=<PGUSER>
PHOST=<PHOST>
PGSENHA=<SENHA PG>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>

Instale o pacote dotenv para acessar o arquivo .env.

npm instalar dotenv

Dentro index.js, importe e configure dotenv.

const dotenv = exigir("dotenv")
dotenv.config()

Conectar-se a um banco de dados PostgreSQL usando um único cliente

O código abaixo mostra como você pode conectar o Node a um servidor PostgreSQL usando um único cliente.

const { Cliente } = exigir("pg")
const dotenv = exigir("dotenv")
dotenv.config()

const connectDb = assíncrono () => {
tentar {
const cliente = novo Cliente({
do utilizador: processo.env.PGUSER,
hospedeiro: processo.env.PGHOST,
base de dados: processo.env.PGDATABASE,
senha: processo.env.PGSENHA,
porta: processo.env.PGPORT
})

aguardam cliente.conectar()
const res = espera cliente.query('SELECIONAR * A PARTIR DE alguma_tabela')
console.log (res)
aguardam cliente.end()
} truque (erro) {
console.log (erro)
}
}

connectDb()

Usando um pool de conexões

Como já mencionado, um pool de conexões permite que você faça várias solicitações de conexão ao seu servidor.

const { Pool } = exigir("pg");
const dotenv = exigir("dotenv");
dotenv.config();

const connectDb = assíncrono () => {
tentar {
const piscina = novo Piscina({
do utilizador: processo.env.PGUSER,
hospedeiro: processo.env.PGHOST,
base de dados: processo.env.PGDATABASE,
senha: processo.env.PGSENHA,
porta: processo.env.PGPORT,
});

aguardam pool.connect()
const res = espera pool.query('SELECIONAR * A PARTIR DE clientes')
console.log (res)
aguardam pool.end()
} truque (erro) {
console.log (erro)
}
}

connectDb()

Os exemplos acima permitem controlar a configuração do banco de dados por meio de um arquivo .env. No entanto, você também pode fornecer esses valores de configuração usando variáveis ​​de ambiente padrão. Essa abordagem permite que você varie facilmente a configuração no momento da inicialização.

Considere o seguinte código de conexão.

const connectDb = assíncrono () => {
tentar {
const piscina = novo Piscina();
const res = espera pool.query('SELECIONAR * A PARTIR DE clientes')
console.log (res)
aguardam pool.end()
} truque (erro) {
console.log (erro)
}
}

Neste programa, você não está passando o objeto de conexão como argumento ao inicializar o Pool. Em vez disso, você deve especificar os detalhes da conexão ao invocar o programa assim:

PGUSER=<PGUSER> \
PHOST=<PHOST> \
PGSENHA=<SENHA PG> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
índice.js

Conectar o Node ao PostgreSQL dessa forma permite que você escreva um programa mais reutilizável.

Fazendo mais com o PostgreSQL

Para criar um aplicativo que interage com bancos de dados, você deve primeiro conectá-lo ao banco de dados. Neste artigo, você aprendeu como conectar o Node a um banco de dados PostgreSQL usando o módulo node-Postgres.

Além do PostgreSQL, existem outros sistemas de gerenciamento de banco de dados como o MySQL que você pode usar em sua aplicação. A ferramenta de banco de dados escolhida deve ser a mais compatível com suas necessidades de dados.