T_era

PostgreSQL 설치하고 스프링 프로젝트에 적용하기 본문

Programing/Datababse

PostgreSQL 설치하고 스프링 프로젝트에 적용하기

블스뜸 2025. 6. 14. 16:21

아래는 macOS에서 PostgreSQL 16을 설치하고, 사용자/비밀번호/DB/스키마를 생성한 뒤, Spring Boot 프로젝트에 적용하는 전체 과정을 정리한 가이드입니다.  
터미널에서 사용한 명령어와 주요 설정 방법을 모두 포함했습니다.

---

## 1. Homebrew로 PostgreSQL 16 설치

brew install postgresql@16



설치 후, PostgreSQL 서비스를 백그라운드로 실행:

brew services start postgresql@16



PATH에 PostgreSQL 바이너리 추가:

echo 'export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc



설치 확인:

psql --version


---

## 2. PostgreSQL 사용자 및 비밀번호 설정

psql postgres


psql 프롬프트에서:

-- 사용자 생성 (이미 있으면 에러, 아래 ALTER만 해도 됨)
CREATE USER 사용자이름 WITH PASSWORD '비밀번호' SUPERUSER;
-- 비밀번호 변경
ALTER USER 사용자이름 WITH PASSWORD '비밀번호';
\q


---

## 3. 인증 방식 변경 (비밀번호 인증 활성화)

pg_hba.conf 파일에 다음 줄 추가:
```bash

echo "host    all             all             127.0.0.1/32            scram-sha-256" >> /opt/homebrew/var/postgresql@16/pg_hba.conf


```

변경사항 적용을 위해 PostgreSQL 재시작:

brew services restart postgresql@16



---

## 4. 데이터베이스 및 스키마 생성

demoDB라는 데이터베이스 생성:

createdb -U 사용자이름 -h localhost DB스키마이름



demoDB 데이터베이스에 접속 후, 스키마 생성:

psql -U 사용자이름 -d DB스키마이름 -h localhost


psql 프롬프트에서:

CREATE SCHEMA IF NOT EXISTS DB스키마이름;
\q



---

## 5. Spring Boot 프로젝트에 적용

`application.properties` 또는 `application.yml`에 다음과 같이 설정:

.propertiesOR

spring.datasource.url=jdbc:postgresql://localhost:5432/demoDB
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.jpa.properties.hibernate.default_schema=demoDB


.yml

spring:
  application:
    name: demo_project

  datasource:
    url: jdbc:postgresql://localhost:5432/${DB_SCHEME}
    username: ${DB_USERNAME}
    password: ${DB_PASSWORD}
    driver-class-name: org.postgresql.Driver