Skip to the content.

Session

https://www.npmjs.com/package/connect-pg-simple

Node js에서 Postgres로 세션 사용

  1. connect-pg-simple 추가
     npm i connect-pg-simple
    
  2. 해당 모듈 안의 table.sql을 실행
     CREATE TABLE "session" (
       "sid" varchar NOT NULL COLLATE "default",
       "sess" json NOT NULL,
       "expire" timestamp(6) NOT NULL
     )
     WITH (OIDS=FALSE);
    
     ALTER TABLE "session" ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE;
    
     CREATE INDEX "IDX_session_expire" ON "session" ("expire");
    
  3. Session
     import session from 'express-session';
     import pgSession from 'connect-pg-simple';
     const pgs = pgSession(session);
    
     app.use(session({
       store: new pgs({
         // id:pw@host:port/database
         conString: 'pg://postgres:postgres@localhost:5432/postgres',
         ttl: '60',
       }),
       key: 'key',
       secret: 'secret',
       resave: true,             // 세션 변경이 없어도 덮어 쓸지 설정
       secure: true,             // https
       httpOnly: true,           // js에서 세션, 쿠키를 사용할 수 없음
       saveUninitialized: false, // 초기화되지 않은 세션을 저장할지 설정
       cookie: {
         // 쿠키
       },
     }));
    
     console.log('Log:', req.session);
    


참조