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.
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> \
nóí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.