본문 바로가기

Java/Spring Boot

[Spring Boot] Postgre SQL

1. 의존성 추가

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

 

 

 

 

 

2. PostgreSQL 설치 및 서버 실행 (docker)

① PostgreSQL 설치

docker run -p 5432:5432 -e POSTGRES_PASSWORD=pass -e POSTGRES_USER=hhlin -e POSTGRES_DB=springboot --name postgres_boot -d postgres

 

 

 

 

② postgres_boot 컨테이너에서 bash 실행

docker exec -i -t postgres_boot bash

 

 

 

③ user를 postgres로 변경

su - postgres

 

 

 

 

 

④ springboot DB에 접근

psql springboot

 

※ 참고 - FATAL: role "postgres" does not exist 에러 발생 시

 

-> Postgres는 Default User Name이 "postgres"라서 명시적으로 유저이름, db이름을 적어줘야 함 

 

 

 

 

 

⑤ 데이터베이스 조회 \l or \list

 

 

 

 

 

⑥ 테이블 조회 \dt

 

 

 

 

⑦ DriverName

실질적으로 어떤 DB를 사용하는지 알고 싶은 경우

System.out.println(connection.getMetaData().getDriverName());

-> spring-datasource.driver-class-name으로도 설정 가능하지만, 

Spring Boot가 url을 보고 이 값을 추측하기 때문에 설정하지 않아도 됨

 

 

 

 

⑧ 쿼리 실행

 

 

 

 

⑨ sql 종료하기

\q 하고 exit 두 번

 

 

 

 

 

 

 

 

 

 

3. 서버에 접근해서 테이블 정보 확인하기 (IntelliJ Ultimate 기준)

어플리케이션을 꺼도 Postgre는 계속 돌고 있기 때문에 서버에 접근해서 테이블 정보 확인 가능

 

① Database -> Data Source -> PostgreSQL

 

 

② User, Password, URL 확인 후 Test Connection -> Apply -> OK

 

 

③ account 테이블 확인 가능

 

 

④ 테이블명 더블 클릭 시 테이블 내 data 확인 가능

 

 

⑤ SQL 파일 내에 쿼리 작성 후 실행해도 됨

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

 

스프링 부트 개념과 활용 - 인프런 | 강의

스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com

https://jinseongsoft.tistory.com/309

 

[PostgreSQL] psql: FATAL: role "postgres" does not exist 발생시 해결 방법

들어가며 PostgreSQL을 도커로 실행한 후에 DB 접속을 하려는데 아래와 같은 오류가 발생하였다. psql: FATAL: role "postgres" does not exist 해결방법 검색을 해보니 postgres 는 Default User Name이 "postgre..

jinseongsoft.tistory.com

 

'Java > Spring Boot' 카테고리의 다른 글

[Spring Boot] 데이터베이스 초기화  (0) 2022.04.17
[Spring Boot] Spring-Data-JPA  (0) 2022.04.17
[Spring Boot] MySQL 설정하기  (0) 2022.04.10
[Spring Boot] 인-메모리 데이터베이스  (0) 2022.04.10
[Spring Boot] CORS  (0) 2022.04.03