본문 바로가기
Spring

[SpringBoot] H2 데이터베이스 PostgreSQL 모드로 변경하기

by 상후 2024. 3. 13.
728x90
반응형

 

 

 

스프링부트 프로젝트에서 테스트를 위한 데이터베이스로 H2를 사용하고 있는데, PostgreSQL 모드로 변경하는 방법을 알아봅니다.

공식 문서에서 쉽게 찾아볼 수 있었는데, MODE=PostgreSQL만 설정에 적어두면 된다고 합니다.

 

자세한 내용은 공식 홈페이지 확인 : https://www.h2database.com/html/features.html#in_memory_databases

 

Features

  Features Feature List H2 in Use Connection Modes Database URL Overview Connecting to an Embedded (Local) Database In-Memory Databases Database Files Encryption Database File Locking Opening a Database Only if it Already Exists Closing a Database Ignore

www.h2database.com

 


 

스프링 부트에 적용하려면, application.yml 또는 application.properties에 H2 관련 설정을 수정하시면 됩니다.

 

spring:
  datasource:
    url: jdbc:h2:mem:test;MODE=PostgreSQL # 기존 url에 MODE=PostgreSQL 추가

 

위처럼 URL을 수정하여 간단하게 데이터베이스의 모드를 변경할 수 있습니다.

 

 

추가적으로 공식문서에 따르면, 두 가지 옵션을 더 권장하는데 아래 이미지와 같습니다.

 

 

 

 

첫 번째로는 DATABASE_TO_LOWER 입니다.

이 옵션 TRUE로 설정하면 데이터베이스의 식별자(테이블, 컬럼, 인덱스 등)을 대소문자 구분 없이 작성할 수 있습니다. 

데이터베이스가 생성된 뒤 DATABASE_TO_LOWER의 값을 바꾸지말라고 하네요.

 

// 모두 사용 가능
SELECT * FROM MY_TABLE;
SELECT * FROM my_table;

 

 

두 번째는 DEFAULT_NULL_ORDERING 입니다.

이 옵션은 NULL 값을 가진 레코드를 정렬할 때 맨 앞에 위치시킬 수 있습니다.

별로 필요하다는 생각은 안 들어서, 저는 따로 추가는 안 했습니다.

 

728x90
반응형

댓글