loader
Conectando-o-PostgreSQL-à-uma-Aplicação-Node.JS-2

Como conectar servidor Node.js com PostgreSQL

PostgreSQL é uma das soluções de banco de dados de código aberto mais populares e avançadas. Na SaveinCloud, você pode instalar um banco de dados PostgreSQL autônomo ou em cluster, configurar sua escala vertical e horizontal e configurar a conexão com o aplicativo necessário em questão de minutos. Neste guia, apresentaremos uma visão geral de um exemplo de como conectar servidor Node.js com PostgreSQL.

1. Faça login em sua conta Virtuozzo, crie um ambiente com banco de dados PostgreSQL e adicione um nó de computação Node.js. Configure os limites de escala necessários para cada servidor.

Configurando os limites de escala necessários para cada servidor

2. Acesse seu servidor Node.js via SSH, por exemplo, com um cliente SSH da Web incorporado.

Acessando seu servidor Node.js via SSH

3. Uma vez conectado, você precisa instalar o node-postgres, que é uma coleção de módulos Node.js para fazer a interface com o banco de dados PostgreSQL. Para fazer isso, execute o seguinte comando:

npm install pg

A instalação será concluída em um momento.

instalação em andamento

4. Prepare um script Node.js simples para verificar a conexão.
O node-postgres oferece suporte a conexões de cliente e pool. Um cliente é uma conexão estática e o pool gerencia a lista dinâmica de objetos clientes com a função de reconexão automática. Vamos com a opção de pool que pode ser usada no caso de ter ou esperar várias solicitações simultâneas.

Portanto, crie um arquivo com a extensão .js, usando qualquer editor de texto de sua escolha (por exemplo, vim script.js) e cole o código a seguir, que deve estabelecer uma conexão com o banco de dados e realizar uma consulta.

const { Pool } = require('pg')
const pool = new Pool({
  user: '{user}',
  host: '{host}',
  database: '{database}',
  password: '{password}',
  port: {port},
})
pool.query('SELECT NOW()', (err, res) => {
  console.log(err, res) 
  pool.end() 
})

Os marcadores de posição no script acima devem ser ajustados usando as informações de conexão apropriadas (fornecidas em um e-mail para seu container PostgreSQL):

  • {user} – nome de usuário para fazer login no banco de dados
  • {password} – senha para o usuário especificado
  • {password} – senha para o usuário especificado
  • {database} – banco de dados a ser acessado (por exemplo, o padrão – PostgreSQL)
  • {port} – número da porta que o servidor de banco de dados escuta. O padrão para PostgreSQL é 5432

Quanto ao nosso exemplo, recebemos o e-mail assim:

e-mail

Portanto, o script deve ser semelhante a abaixo:

script

Nota: Em vez de credenciais no corpo do script, o node-postgres pode usar as variáveis de ambiente para conexão a um servidor PostgreSQL. Esses são:
PGUSER = {usuário}
PGHOST = {host}
PGPASSWORD = {senha}
PGDATABASE = {banco de dados}
PGPORT = {porta}
 

5. Usando este script, você pode verificar a conexão com o banco de dados de seu servidor de aplicativos e solicitar o valor de hora local atual do nó do servidor de banco de dados. Execute-o com o comando apropriado:

node script.js
verificando a conexão com o banco de dados

No caso de uma conexão bem-sucedida, a hora do nó do servidor PostgreSQL é exibida (destacada em vermelho). Agora, você tem certeza de que seu container de banco de dados está acessível para seu aplicativo Node.js.

O gerenciamento de banco de dados pode ser descomplicado! Registre-se em um dos provedores de hospedagem em nuvem SaveinCloud e execute facilmente seus aplicativos baseados em servidor Node.js conectados ao PostgreSQL.

Fonte: Virtuozzo

Confira abaixo e em nosso canal do YouTube,  especialista apontando os diferenciais do Node.JS e como escalar servidor em nuvem.

Crie um ambiente com Node.js e PostgreSQL em poucos cliques com a SaveinCloud. Faça um teste na nossa plataforma com 14 dias grátis.

Todo o conteúdo deste site é de uso exclusivo da SaveInCloud. Proibida reprodução ou utilização a qualquer título, sob as penas da lei. Saveincloud Hospedagem na Internet Ltda – CNPJ 66.925.934/0001-42

Atualização LGPD: Contratos | Políticas