티스토리 뷰

반응형

저는 이번 프로젝트에서 postgreSql을 사용하고 연결을 해보려고 합니다. 

이전 프로젝트 셋팅에서 dependency 추가를 이미 해둔 상태에서 이제 postgreSQL을 받아볼게요! 

[ 참고! MAC 기준 ]

 

하루종일 셋팅만하고 다운로드 받다가 충돌나고 오류가 자꾸나서  postgresql을 포기할뻔했지만,,, 

여러분은 처음부터 잘 다운로드 받으시길 

 

결론부터 말씀드리면

postgresql 페이지에서 다운로드 받을수도 있지만,, 

이렇게 하지 마시고 처음부터 brew 로 다운로드 하세요 

 

brew가 다운로드 안되어 있는 분들은 먼저 brew를 다운받아야해요 ! 

 

 

0. brew 설치하기

홈브류 사이트 들어가서 아래 명령어 복사해서 터미널에 붙여넣으면 됩니다!

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

1. brew로 postgre 다운받기 

여기서 주의할점 postgresql@version <- 다운로드할 version 정보를 특정해서 다운로드해주세요!

brew install postgresql@14

 

2. postgre 실행하기

실행할때도 다운로드 받은 특정버전을 같이 써주세요

brew services start postgresql@14
psql postgres

 

이렇게 실행을 했을 때 아래처럼 나온다면 제대로 설치가 되고 실행이 된것입니다!! 

psql (14.7 (Homebrew))
Type "help" for help.
이름=#

 

셋팅시 마주친 문제 

1. 처음 pgAdmin4를 실행해서 디비수정을 하려고 했지만, superuser의 비밀번호가 계속 틀렸다고 함

2. 라이브러리 파일 > postgresql > data 파일이 생성되지 않음

> 위 1,2번을 해결하지 못해서 postgreSQL 라이브러리를 삭제하고 brew 다운로드로 다시 시도했습니다!

3. brew로 다운로드 했을때, /tmp/.s.PGSQL.5432.lock 해당 로그가 찍힘

> pid 파일이 오류가 나서 안된다는 구글링으로 찾았지만, 나의 경우에는 pid 파일이 생성되지 않았음..

> 위 postgresql 라이브러리 파일이 제대로 삭제되지 않고 실행을 해서 port가 곂침.. 

> 제대로 삭제된것 확인 후 재부팅!! 후 다시 psql 실행 

 

이제 진짜 DB 다운로드는 마무리했고, 디비 연결하러 IntelliJ 로 가봅니다. 

application.properties 파일 내용입니다.

 

#Logging
logging.level.org.hibernate.sql=debug
logging.level.org.hibernate.type.descriptor.sql.spi=trace

#Set Database
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432
spring.datasource.username=본인의 db user id를 써주세요
spring.datasource.password=본인의 db password 를 써주세요

#JPA
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.database=postgresql
spring.jpa.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect

 

 

 

ddl-auto

  • create : 새로 만들기(기존 테이블이 있다면 drop 후 생성)
  • update : 기존 테이블에 데이터를 추가 (기존 테이블이 없다면 자동 생성)

url

  • //localhost:postgresql:포트번호/데이터베이스이름
반응형