개발/nodejs
nodejs + postgresql
kwony
2021. 1. 10. 13:12
nodejs로 postgresql 데이터베이스를 사용하는 방법. 엄청 간단하다.
먼저 pg 라이브러리를 npm으로 설치한 후
npm install pg // pg library install
host 주소랑 포트번호 그리고 유저 정보들을 담은 오브젝트를 만든 후 pg client를 생성해 연결을 시켜준다.
const dbconfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PW,
database: process.env.DB_NAME,
port: process.env.DB_PORT,
ssl: {
rejectUnauthorized: false
}
}
const client = new pg.Client(dbconfig)
client.connect(err => {
if (err) {
console.log('Failed to connect db ' + err)
} else {
console.log('Connect to db done!')
}
})
정상적으로 연결이 완료 되면 선언한 pg client 객체를 이용해 db 쿼리를 날린다. 결과 값은 promise의 형태로도 받을 수 있는데 여기선 비동기 콜백을 피하고자 await로 받았다. 쿼리 결과 값은 리턴 객체의 rows 배열에 있으니 얘를 잘 써먹으면 된다.
rows() = () => client.query('select * from tb_table')
router.get('/api/v1/rows', async (req, res) => {
try {
const rowQuery = await rows();
const resp = response.Builder.buildOkResponse({
row: rowQuery.rows.map()
})