OK, j'ai trouvé la réponse en parcourant le code source de sequelize :https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39
Pour activer SSL pour les connexions PG, vous n'avez pas besoin de native: true
ou ssl: true
mais dialectOptions.ssl: true
donc ce qui suit a finalement fonctionné :
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: true
}
});
Pour contourner le self signed certificate
bogue sur node-postgres
version 8 mentionnée à SequelizeConnectionError :certificat auto-signé que vous pouvez utiliser à la place :
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false
}
}
});