PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Não é possível se conectar ao banco de dados heroku postgresql do aplicativo de nó local com sequelize


OK, encontrei a resposta navegando no código-fonte do sequelize:https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39

Para ativar SSL para conexões PG você não precisa de native: true ou ssl: true mas dialectOptions.ssl: true então o seguinte finalmente funcionou:
sequelize = new Sequelize(process.env.DATABASE_URL, {
    dialect: 'postgres',
    protocol: 'postgres',
    dialectOptions: {
        ssl: true
    }
});

Para contornar o self signed certificate bug no node-postgres versão 8 mencionada em SequelizeConnectionError:certificado autoassinado que você pode usar:
sequelize = new Sequelize(process.env.DATABASE_URL, {
    dialect: 'postgres',
    protocol: 'postgres',
    dialectOptions: {
        ssl: {
            require: true,
            rejectUnauthorized: false
        }
    }
});