데이터베이스 2023. 11. 4.
[DB] 카탈로그와 스키마 차이 (MySQL 에 카탈로그가 없는 이유)
📣 들어가며 최근 JDBC로 (정확히는 node-jdbc) 테이블 목록을 가져올 일이 있었는데, getTables api 를 요청해도 빈 배열만 반환됐다. 분명 테이블들이 있는데도... 한참의 삽질 끝에 getCatalogs 또는 getSchemas api 를 사용 후, 스키마나 카탈로그 정보로 테이블 목록을 가져와야한다는 걸 알 수 있었다. 그런데 카탈로그가 있는 DB가 있고, 없는 DB가 있었다. 때문에 카탈로그가 없다면 스키마를 적절히 조회해서 그 조회 정보로 테이블을 가져왔어야했는데, 도통 감이 잡히지 않아 이번 포스팅을 작성해본다. 사실 이런 의문점은 DBeaver를 쓸 때부터 갖고 있던 생각이었다. (다른 DB 툴도 비슷하리라고 생각된다.) DBeaver를 사용하다보면 어떤 DB는 Databa..