Backend/SpringBoot

[SpringBoot] SpringBoot와 PostgreSQL 연동하기

seoraroong 2024. 10. 16. 22:42

프로젝트에 사용할 데이터베이스로 PostgreSQL, MongoDB를 사용할 예정이다.

오늘은 로그인 테스트를 위해 PostgreSQL을 스프링부트에 연동해볼 것이다!!

 


1. PostgreSQL 설치

https://www.postgresql.org/download/

 

PostgreSQL: Downloads

 

www.postgresql.org

위 링크에서 PostgreSQL을 다운받고 설치해주자

 

2. SQL Shell (psql)에서 PostgreSQL 접속

설치 완료 후 Window 탐색창에 SQL Shell을 검색해서 열어준다.

 

Server [localhost]: Enter 누르기

Database [postgres]: Enter 누르기

Port [5432]: Enter 누르기

Username [postgres]: Enter 누르기

Password for user postgres: PostgreSQL 설치할 때 설정한 비밀번호 입력 후 Enter 누르기

 

3. 데이터베이스 계정 생성 및 권한 부여

계정 생성하기

CREATE ROLE [계정 이름] WITH LOGIN PASSWORD '[비밀번호];'

 

생성된 계정 확인하기

\du

 

계정에 권한 부여하기

// 사용자가 새로운 데이터베이스를 생성할 수 있는 권한
ALTER USER [계정이름] WITH CREATEDB;
// 모든 데이터베이스에 대해 모든 작업을 할 수 있는 권한
ALTER USER [계정이름] WITH SUPERUSER;
// 새로운 사용자 또는 역할을 생성할 수 있는 권한
ALTER USER [계정이름] WITH CREATEROLE;

 

계정에 부여한 권한 확인하기

\du

 

 

4. 데이터베이스 스키마 생성하기

CREATE DATABASE [데이터베이스이름];

 

데이터베이스 목록 확인하기

\l

 

 

5. 데이터베이스 스키마에 권한 부여하기

GRANT ALL PRIVILEGES ON DATABASE [데이터베이스이름] TO [계정이름];

 

부여한 권한 확인하기

\l

 

 

6. build.gradle 파일에 의존성 추가하기

설치된 PostgreSQL 버전 확인하기

SELECT version();

 

 

JDBC 요청을 로깅하는 log4jdbc-log4j2 라이브러리

-> JDBC 요청을 로깅하는데 사용되며 SQL 쿼리와 데이터베이스 관련 작업을 로그로 출력해준다

 

PostgreSQL은 하위 호환성을 제공하기 때문에 최신 버전의 PostgreSQL JDBC 드라이버를 사용하면 된다.

https://jdbc.postgresql.org/

 

Home | pgJDBC

Latest Releases pgJDBC has released v42.7.3, v42.6.2, v42.5.6, v42.4.5, v42.3.10 and v42.2.29 on March 13, 2024. These releases fix a problem running on Java 8 java.lang.NoSuchMethodError: java.nio.ByteBuffer.position() All releases have been released usin

jdbc.postgresql.org

위 링크에서 PostgreSQL JDBC 드라이버 최신 버전을 확인할 수 있다!

 

 

build.gradle 파일에 의존성 추가

implementation 'org.postgresql:postgresql:42.7.4'
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'

 

 

7. application.yml 파일에 추가