PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Impossible de se connecter à la base de données heroku postgresql à partir de l'application de nœud local avec sequelize

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