OK, znalazłem odpowiedź, przeglądając kod źródłowy sequelize:https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39
Aby aktywować SSL dla połączeń PG, nie potrzebujesz native: true
lub ssl: true
ale dialectOptions.ssl: true
więc w końcu zadziałały:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: true
}
});
Aby obejść self signed certificate
błąd w node-postgres
wersja 8 wspomniana w SequelizeConnectionError:samopodpisany certyfikat, którego możesz użyć:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false
}
}
});