ответ

0

Redshift основан на вершине postgres 8.0.2 (http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-and-postgres-sql.html), поэтому как postgres, так и sequelize должны быть в состоянии подключиться к нему.

У меня нет никакого личного опыта с ним, но документация красного смещения предполагает, что вы можете подключиться к нему с помощью регулярных драйверов JDBC/ODBC, так что я был бы удивлен, если водители узла не работают

+1

Кажется узел-пг (который используется как sequelize и книжной полке) подключается повторно dshift просто отлично https://github.com/brianc/node-postgres/issues/686 –

+0

Это ранее [вопрос] (http://stackoverflow.com/questions/28178923/using-node-pg-library-to-connect -to-amazon-redshift) предполагает, что были проблемы с часовыми поясами, но они, возможно, были исправлены к настоящему времени. –

+1

Вопрос о часовой пояс был исправлен да. Я не знаю никаких проблем, ни один из них не был зарегистрирован в официальном сиквелите отслеживания ошибок (полное раскрытие, я являюсь разработчиком продолжения) –

2

Sequelize несовместим с Redshift. Хотя Redshift написан поверх Postgres, это столбчатая БД, и основные основные функции переписываются.

При попытке подключения к ней выдает ошибку «Set Time Zone не поддерживается»

Следующая нить показывает несколько людей переопределения ошибки часового пояса, но, с которыми сталкиваются другие проблемы в дальнейшей. 'Using Node 'pg' library to connect to Amazon Redshift

если Redshift является обязательным, вы можете использовать пакет узлового-JDBC для подключения с Redshift https://github.com/CraZySacX/node-jdbc

из если ОРМ является обязательным, вы должны, возможно, попытайтесь переместить хранилище данных чистых Postgres

6

Я был в состоянии получить sequelize по крайней мере подключения к Redshift (и сделать простой запрос на выборку) с этими параметрами:

var Sequelize = require('sequelize'); 
Sequelize.HSTORE.types.postgres.oids.push('dummy'); // avoid auto-detection and typarray/pg_type error 
module.exports = new Sequelize(process.env.REDSHIFT_DATABASE, process.env.REDSHIFT_USER, process.env.REDSHIFT_PASSWORD, { 
    host: process.env.REDSHIFT_HOST, 
    port: process.env.REDSHIFT_PORT, 
    dialect: 'postgres', 
    pool: false, 
    keepDefaultTimezone: true, // avoid SET TIMEZONE 
    databaseVersion: '8.0.2' // avoid SHOW SERVER_VERSION 
}); 
Смежные вопросы