Я пытаюсь использовать connect-pg-simple, чтобы сохранить express информацию о сеансе в postgresql дБ при установлении соединения. Он нормально подключается, когда я запускаю сервер, но когда он пытается сохранить информацию о сеансе, он выдает мне эту ошибку:
error: syntax error at or near "ON"
at Connection.parseE
(C:~\src\practice\logintest\server\node_modules\pg\lib\connection.js:615:13)
at Connection.parseMessage
(C:~\src\practice\logintest\server\node_modules\pg\lib\connection.js:413:19)
at Socket.<anonymous>
(C:~\src\practice\logintest\server\node_modules\pg\lib\connection.js:129:22)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:601:20)
Я попытался посмотреть на модуль узла соединения, но не смог отследить, что вызывает синтаксическую ошибку. Я попытался сгенерировать пул перед созданием хранилища connect-pg-simple, используя обычный conString и другие способы подключения к БД, а также удалил и заново создал таблицу postgres в БД с использованием предоставленной таблицы. sql файл из connect-pg-simple.
Вот минимальный пример моего приложения. js:
var express = require('express');
var session = require('express-session');
var PostgreSqlStore = require('connect-pg-simple')(session);
var app = express();
var sessionOptions = {
secret: "secret",
resave : false,
saveUninitialized : false,
store : new PostgreSqlStore({
conString: "postgres://postgres:postgres@localhost:5432/logintest"
}),
cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 }
};
app.use(session(sessionOptions));
app.get("/", function(req, res){
if ( !req.session.views){
req.session.views = 1;
}else{
req.session.views += 1;
}
res.json({
"status" : "ok",
"frequency" : req.session.views
});
});
app.listen(3300, function (){
console.log("Server started at: http://localhost:3300");
});
Я следовал этому руководству, чтобы настроить postgresql db на AWS linux Экземпляр EC2: http://imperialwicket.com/aws-install-postgresql-on-amazon-linux-quick-and-dirty/. Я могу использовать на своем сервере команды SQL для других таблиц, поэтому соединение в порядке, похоже, возможная несовместимость между connect-pg-simple и linux версией postgresql.