Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

560
Visualizações
How to import pg-promise using ES6 syntax?

I am trying to set up a Postgres database in a nodejs server using ES6 syntax, but I don't think I'm importing and initializing pg-promise properly. If I were using common js sytax I would do the below:

// Create Database Connection
const pgp = require('pg-promise')({});
const db = pgp(config.db);

// Test connection
db.connect()
  .then((obj) => {
    console.log('Connected to database');
    obj.done(); // success, release connection;
  })
  .catch((error) => {
    console.error('ERROR:', error.message);
  });

Using ES6 I am trying to do the below but the connection just hangs and doesn't complete or error out.

import pgPromise from 'pg-promise';

// Create Database Connection
const pgp = pgPromise({});
const db = pgp(config.db);

// Test connection
db.connect()
  .then((obj) => {
    console.log('Connected to database');
    obj.done(); // success, release connection;
  })
  .catch((error) => {
    console.error('ERROR:', error.message);
  });

I've searched through the pg-promise docs and can't find anything about using it with ES6 syntax. Any ideas on what I should change?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Is there any error message? Nodejs needs specific conditions to support es module, first make sure you have introduced the module correctly.

// index.mjs
import pgPromise from 'pg-promise';
const pgp = pgPromise({});
console.log(pgp);

Then execute with a --experimental-modules

node --experimental-modules index.mjs

More details https://blog.logrocket.com/es-modules-in-node-js-12-from-experimental-to-release/

over 4 years ago · Santiago Trujillo Relatório

0

The correct as I can see in the documentation.

Loading and initializing the library with Initialization Options:

const initOptions = {/* initialization options */};
const pgp = require('pg-promise')(initOptions);

or without Initialization Options:

const pgp = require('pg-promise')();

Create your Database object from the connection as pgp(connection, [dc]):

const db = pgp(connection);

For ES6 or TypeScript syntax

import * as pgPromise from 'pg-promise';

const pgp = pgPromise({/* Initialization Options */});

const db = pgp('postgres://username:password@host:port/database');

over 4 years ago · Santiago Trujillo Relatório

0

Alright this is pretty stupid, but I found out my problem was just that I needed to update the pg-promise dependency. I was using version 8.5.1 and upgrading to 10.5.7 fixed this issue. For anyone else running into this issue you can use the code for ES6 as written in the question just make sure your pg-promise dependency is at the latest version.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda