connect-pg-simple выдает сбивающую с толку ошибку при сохранении - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь использовать 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.

...