Connect with NodeJS

This example connects to PostgreSQL service from NodeJS, making use of the pg package.

Variables

These are the placeholders you will need to replace in the code sample:

Variable

Description

POSTGRESQL_URI

URL for PostgreSQL connection, from the service overview page

Pre-requisites

For this example you will need:

  • The npm pg package:

    npm install pg --save
    
  • Download a CA certificate from the service overview page, this example assumes it is in a local file called ca.pem.

Code

Add the following to index.js and replace the placeholder with the PostgreSQL URI:

const fs = require('fs');
const pg = require('pg');

const postgresqlUri = "POSTGRESQL_URI";

const conn = new URL(postgresqlUri);
conn.search = conn.query = "";

const config = {
    connectionString: conn.href,
    ssl: {
        rejectUnauthorized: true,
        ca: fs.readFileSync('./ca.pem').toString(),
    },
};

const client = new pg.Client(config);
client.connect(function (err) {
    if (err)
        throw err;
    client.query("SELECT VERSION()", [], function (err, result) {
        if (err)
            throw err;

        console.log(result.rows[0]);
        client.end(function (err) {
            if (err)
                throw err;
        });
    });
});

This code creates a PostgreSQL client and opens a connection to the database. Then runs a query checking the database version and prints the response.

Note

This example removes ?sslmode=require from the URL string to avoid running into this bug. Adding the rejectUnauthorized: true configuration ensures that the certificate is checked.

To run the code:

node index.js

If the script runs successfully, the outputs should be the PostgreSQL version running in your service like:

PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by gcc, a 68c5366192 p 6520304dc1, 64-bit