Node.js, PostgreSQL error: no pg_hba.conf entry for host Node.js, PostgreSQL error: no pg_hba.conf entry for host express express

Node.js, PostgreSQL error: no pg_hba.conf entry for host


Change your connection code to use ssl. Following your linked example:

var conString = "pg://admin:guest@localhost:5432/Employees";var client = new pg.Client(conString);client.connect();

becomes:

var client = new pg.Client({    user: "admin",    password: "guest",    database: "Employees",    port: 5432,    host: "localhost",    ssl: true}); client.connect();

https://github.com/brianc/node-postgres/wiki/Client#new-clientobject-config--client


Running on heroku:

We ran into this error while upgrading the pg database on heroku from hobby tier to standard-0. SSL is required, but we didnt set it in our config.

Include in config when initialize new Sequelize(...)

"dialect": "postgres","dialectOptions": {  "ssl": true}

This trick was, that the ssl option is wrapped in dialectOptions.found here: https://github.com/sequelize/sequelize/issues/956#issuecomment-147745033

Info by @Atish:Use

options: {   dialect: "postgres",  native: true, # adding this maybe breaks on hobby dyno  ssl: true,   dialectOptions: {    ssl: true  }}


In the case sequelize ignores all of your efforts to turn ssl on, you can try to convince pg to enable ssl for all conncetions by default:

var pg = require('pg');pg.defaults.ssl = true;const Sequelize = require('sequelize');const sequelize = new Sequelize('postgres://...');