const { Pool, Query } = require('pg');
const pool = new Pool({
...dbConfig,
connectionTimeoutMillis: 60 * 1000,
idleTimeoutMillis: 60 * 1000,
});
node js를 이용해 postgresql db를 연동하던 도중, 이러한 에러를 마주하게 되었다.
해당 에러를 구글링 해보았을 때, 5432포트를 죽이면 될 것이라는 얘기를 듣고 port의 문제인가 싶어서 온갖 포트 관련된 시도들을 다 해봤는데 포트 문제는 아닌 것 같았다.
해당 에러를 검색했을 때 최상단에 뜨는 스택오버플로우 질문글
구글링에서 제시해준 방식들로 해결되지 않아 새 마음 새 뜻으로 한땀한땀 콘솔을 찍으며 디버깅을 해보았다. 그러다 이상한 아이를 발견하였다.
그렇다.. dbConfig
에서 production모드와 develop 모드를 분리해놓고 새로운 커넥션 풀을 생성할 때 dbConfig
의 모드를 구분하지 않았던 것이다 !
let devMode = process.env.NODE_ENV === 'development';
if (devMode) {
dbConfig = dbConfig.development;
}
이런 식의 분기처리를 해주니 연결이 아주 잘 되었다.
참으로 숙연해진 에러였다. 에러를 해결할 때에는 일단 내 코드가 처한 상황을 하나하나 뜯어보면서 원인을 추정했어야 했는데 무지성 구글링을 갈겨버리는 바람에 생각보다 쉽게 해결할 수 있는 에러를 다소 돌고 돌아 해결하게 되었던 것 같다.