Node.js에서 PostgreSQL 데이터베이스와 연동하여 데이터를 처리해야 하는 경우, 데이터 타입 매핑은 중요한 과제입니다. PostgreSQL은 다양한 데이터 타입을 지원하고 있으며, 이러한 데이터 타입을 Node.js에서 처리하기 위해서는 적절한 매핑이 필요합니다. 이 글에서는 Node.js에서 PostgreSQL 데이터 타입을 어떻게 매핑하는지에 대해 알아보겠습니다.
데이터 타입 매핑
숫자형 데이터 타입
PostgreSQL의 숫자형 데이터 타입은 INTEGER
, SMALLINT
, BIGINT
, NUMERIC
, REAL
, DOUBLE PRECISION
등이 있습니다. Node.js에서 이러한 숫자형 데이터를 다룰 때는 JavaScript의 Number
타입을 사용할 수 있습니다.
const { Client } = require('pg');
const client = new Client();
client.connect();
const query = 'SELECT * FROM my_table WHERE id = $1';
const values = [123];
client.query(query, values, (err, res) => {
if (err) {
console.error(err);
} else {
console.log(res.rows);
}
client.end();
});
문자열 데이터 타입
PostgreSQL은 VARCHAR
, TEXT
, CHAR
등의 문자열 데이터 타입을 지원합니다. 이러한 문자열 데이터는 JavaScript의 String
으로 처리할 수 있습니다.
const { Client } = require('pg');
const client = new Client();
client.connect();
const query = 'SELECT * FROM my_table WHERE name = $1';
const values = ['John Doe'];
client.query(query, values, (err, res) => {
if (err) {
console.error(err);
} else {
console.log(res.rows);
}
client.end();
});
날짜 및 시간 데이터 타입
PostgreSQL은 DATE
, TIME
, TIMESTAMP
, INTERVAL
등의 날짜 및 시간 데이터 타입을 지원합니다. Node.js에서는 JavaScript의 Date
객체를 사용하여 이러한 데이터를 처리할 수 있습니다.
const { Client } = require('pg');
const client = new Client();
client.connect();
const query = 'SELECT * FROM my_table WHERE created_at > $1';
const values = [new Date('2022-01-01T00:00:00Z')];
client.query(query, values, (err, res) => {
if (err) {
console.error(err);
} else {
console.log(res.rows);
}
client.end();
});
기타 데이터 타입
PostgreSQL은 기타 다양한 데이터 타입을 지원합니다. 예를 들어, BOOLEAN
, JSON
, UUID
등의 데이터 타입이 있습니다. 이러한 데이터 타입은 Node.js에서도 각각 Boolean
, Object
, String
등의 JavaScript 데이터 타입으로 매핑하여 활용할 수 있습니다.
결론
Node.js에서 PostgreSQL과 데이터를 연동할 때 데이터 타입 매핑은 중요한 과제입니다. PostgreSQL의 다양한 데이터 타입을 적절히 JavaScript 데이터 타입으로 매핑하여 데이터를 처리하는 것이 핵심입니다.
이러한 데이터 타입 매핑을 통해 Node.js와 PostgreSQL 간의 데이터 통신이 원활하게 이루어질 수 있고, 안정적인 애플리케이션을 개발할 수 있습니다.
참고 문헌:
ENND