sql >> Base de Datos >  >> RDS >> PostgreSQL

No se puede conectar a la base de datos postgresql de heroku desde la aplicación de nodo local con secuela

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
        }
    }
});