인프런 커뮤니티 질문&답변

조석훈님의 프로필 이미지
조석훈

작성한 질문수

스프링과 JPA 기반 웹 애플리케이션 개발

PostgreSQL 설치 및 설정

postgresql 설정 관련 질문

작성

·

431

0

안녕하세요.

저는 postgresql 관련 설정에서 clob 타입을 지원해주지 않아서 설정을 추가줬는데,

선생님은 어떻게 추가 설정을 하지 않았는데 정상 작동했는지(?) 궁금해서 여쭤봐도 될까요??

(단순히 궁금해서요..!)

감사합니다.

답변 4

0

조석훈님의 프로필 이미지
조석훈
질문자

https://github.com/n1tjrgns/postgresqlQ-A 

해당시점 깃 주소입니다! 늦어서 죄송합니다.

0

백기선님의 프로필 이미지
백기선
지식공유자

흠.. 이상하네요. 그 설정들은 반드시 필요한 설정이 아니라 CLOB이랑 특정 기능 확인 관련된 경고 메시지를 없애는데 사용하는 설정인데요.  혹시 다른 이슈 때문에 테이블 생성이 실패했었던건 아니었을지도 의심해 보셔야겠네요. 그 설정들에 대해서는 아래 두 링크 살펴보시기 바랍니다.

https://stackoverflow.com/questions/4588755/disabling-contextual-lob-creation-as-createclob-method-threw-error

https://github.com/spring-projects/spring-boot/issues/12007

저 두 설정이 없을시 에러가 나는 (Account 테이블 생성 실패 후 애플리케이션 구동 실패) 코드를 깃헙에 올려 공유해 주시면 살펴보겠습니다. 

0

조석훈님의 프로필 이미지
조석훈
질문자

아 제 질문이 너무 빈약했네요 죄송합니다!

강좌와 같이 DB 접속정보만 입력 후 어플을 실행했을 때

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.SQLGrammarException: Unable to build DatabaseInformation

위와같은 에러가 발생했고, 실제 생성된 테이블을 봤는데 account 테이블이 생성되지 않아 5개의 테이블만 생성된 상태였습니다.

쿼리 로그를 보니

Caused by: org.postgresql.util.PSQLException: ERROR: type "clob" does not exist

clob을 지원하지 않는다고 에러가 있었고, 저희가 프로필 이미지에서 사용하기로한 @Lob 이 원인이었던것같습니다!

그래서

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults= false

옵션을 추가해줬습니다!

그래서 강사님은 clob 어떻게 발생하지 않으셧는지 궁금했었어요!

궁금해서 스프링부트 활용 강좌의 postgresql 연동과정이 있는걸 보고 찾아봤는데도 별다른 설정 없이 잘 돌아가서요!

0

백기선님의 프로필 이미지
백기선
지식공유자

음..? 어떤 설정을 추가하신거죠? 그리고 어떤게 정상 작동 하는지 궁금하신건가요? DDL은 하이버네이트가 엔티티 맵핑 정보와 DB 타입을 바탕으로 생성해 주는데 무슨 문제가 있었나요?

조석훈님의 프로필 이미지
조석훈

작성한 질문수

질문하기