Bien, encontré la respuesta navegando por el código fuente de la secuela:https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39
Para activar SSL para conexiones PG no necesita native: true
o ssl: true
pero dialectOptions.ssl: true
así que lo siguiente finalmente funcionó:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: true
}
});
Para evitar el self signed certificate
error en node-postgres
versión 8 mencionada en SequelizeConnectionError:certificado autofirmado que puede usar en su lugar:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false
}
}
});