맥북 DBeaver에서 SQL 예제 데이터(DVD Rental) 복원 오류, 3분 만에 해결하기

2025. 11. 28. 18:57SQL

반응형

지난 포스팅까지 PostgreSQLDBeaver 설치를 마쳤다.
하지만 막상 들어가 보니 내 데이터베이스는 아무런 데이터도 없는 '빈 깡통' 상태였다.

텅 빈 화면을 보고 있자니 공부할 맛이 안 난다. 😅
그래서 오늘은 SQL 학습자들 사이에서 가장 유명한 예제 데이터인 "DVD Rental (영화 대여점 데이터)"를 내 DB에 넣어보려고 한다.

그런데 이 과정에서 맥북 사용자라면 100% 겪는 황당한 오류들과 DBeaver 설정 문제 때문에 10분 넘게 헤맸다.
나 같은 '코딩 초보'들이 시간을 낭비하지 않도록, 그 해결 과정을 꼼꼼히 기록해 본다.

1. 샘플 데이터 준비하기 (함정 주의 🚨)

먼저 실습용 데이터를 다운로드 받아야 한다. PostgreSQL Tutorial 사이트에서 dvdrental.zip 파일을 받았다.

링크 접속 시 화면
스크롤해서 밑에 Download를 클릭하자.

⚠️ 맥북 사용자의 첫 번째 당황: .tar 파일이 없다?

분명 튜토리얼에서는 .zip을 풀면 .tar 파일이 나온다고 했다.
하지만 다운로드 받은 파일을 클릭해서 풀었더니, 이상한 파일(toc.dat, restore.sql 등)이 잔뜩 들어있는 폴더가 튀어나왔다.

💡 비전공자의 깨달음
알고 보니 맥북(Safari)은 압축 파일 안에 또 압축 파일(.tar)이 있으면, 친절하게(?) 그것까지 다 풀어서 폴더로 만들어버리는 습관이 있다고 한다. 처음엔 파일을 잘못 받은 줄 알고 3번이나 다시 받았다.

결론부터 말하면: 억지로 .tar 파일을 만들 필요 없다.
DBeaver는 폴더째로 복원(Restore)하는 기능을 지원하기 때문이다! (이걸 몰라서 한참 헤맸다.)

2. 데이터를 담을 그릇(Database) 만들기

새로운 데이터 베이스를 만들자.

데이터를 붓기 전에 담을 그릇을 먼저 만들어야 한다. DBeaver에서 Databases 우클릭 -> Create New Database를 눌렀는데...

⛔️ 에러 발생: Multi-database mode is disabled

옵션만 바꿔주면 간단히 해결되는 오류다.

시작하자마자 빨간색 에러 창이 떴다. "Cannot create a database when multi-database mode is disabled..."

초보자 기죽이는 에러 메시지지만, 알고 보니 초기 설정이 '기본 DB 하나만 보기'로 되어 있어서 새 DB 생성을 막는 것이었다. 해결책은 아주 간단했다.

✅ 해결 방법 (DBeaver 25.2.5 기준)

  1. 왼쪽 코끼리 아이콘(연결) 우클릭 -> Edit Connection 클릭.
  2. 복잡하게 메뉴를 찾을 필요가 없었다. 설정창 정면(Connection settings)에 바로 보이는 Show all databases 체크박스에 체크(v)를 해준다.
  3. OK를 누르고, 연결을 끊었다가(Disconnect) 다시 연결(Connect)한다.

🚀 다시 시도: 데이터베이스 생성

오류를 해결했으니 다시 생성을 시도했다.

  1. 다시 Databases 폴더 우클릭 -> Create New Database 클릭.
  2. Database name에 소문자로 dvdrental 입력.
  3. 다른 설정은 건드리지 않고 OK 클릭.

왼쪽 목록에 dvdrental이라는 새로운 코끼리 아이콘이 생겼다. 이제 그릇 준비 완료!

dvdrental 생성된 화면

3. 데이터 복원하기 (Restore) - 가장 중요! ⭐

이제 빈 dvdrental DB에 아까 받은 폴더의 내용을 덮어씌우는 작업이다. 여기가 제일 중요하다.

1. 새로 만든 dvdrental 코끼리 아이콘 우클릭 -> Tools -> Restore 클릭.

이제 database에 data를 넣어주자.

 

2. Format: 기본값인 Custom 대신 Directory (디렉토리/폴더)를 선택한다. (이게 핵심!)

가운데 Input부분에 'backup file:' 우측에 있는 폴더를 클릭해 다운받아 둔 data를 연결시켜 주자.

 

3. Backup file: 폴더 아이콘을 누르고, 아까 압축 풀어서 생긴 dvdrental 폴더 자체를 선택한다.

⚠️ 마지막 관문: Errors ignored?

Start 버튼을 누르고 복원이 진행되는데, 로그창에 빨간 글씨로 "Errors ignored: 127", "Relation already exists" 같은 무시무시한 경고가 떴다. 실패한 건가? 싶어서 식은땀이 났는데...

두번 연결 시 이런 오류 메세지를 받았다. 제일 밑에 줄에 Task ~ finished만 신경쓰자. 성공이다.

로그 맨 마지막 줄을 보니 Task ... finished 라고 떠있었다. 찾아보니 이는 이미 존재하는 구조 위에 데이터를 덮어씌울 때 발생하는 단순 경고라 무시해도 된다고 한다. "Finished"가 떴다면 성공이다.

4. 결과 확인 (뿌듯함 MAX)

복원이 끝났다고 바로 보이지 않는다. dvdrental 아이콘을 클릭하고 새로고침(F5)을 해줬다. Tables 폴더를 열어보니...

dvdrental 하위 폴더로 내려가다 보면 Tables 폴더가 있다. 그 안에 우리가 연결한 data를 모두 확인 할 수 있다.

actor, film, customer 등 15개의 테이블이 와르르 쏟아져 나왔다! 드디어 내 DB에 데이터가 생겼다.

첫 쿼리 실행해보기

제대로 작동하는지 확인하기 위해 SQL 편집기(F3)를 열고 첫 쿼리를 날려보았다.

SELECT * FROM actor;

명령어를 치면 데이터의 내용을 확인 할 수 있다.

하단 결과창에 Penelope Guiness, Nick Wahlberg 같은 배우들의 이름이 조회된다. 완벽하다!

🎯 마무리

오늘 실습은 유독 에러가 많아서 당황스러웠지만, 덕분에 DBeaver 설정법과 데이터 복원(Restore) 원리를 제대로 익힐 수 있었다.
이제 재료 준비는 끝났다. 다음 포스팅부터는 이 영화 대여점 데이터를 가지고 본격적으로 "데이터 뽑아내기(SELECT)" 연습을 시작해 보겠다.

[데이터 분석 독학기 #3 끝]

반응형