회사 기본 디비가 mysql이라 관리하고 쓰고 그러는데 저번에 유튭보다 노마드가 하도 포스트그레를 물고 빨고 하길래 (이거 발음이 뭔지 몰라 포스트그레라고 할께...) 개인 공부용으로 한 번 써봤거든.
일단 포스트그레는 스키마를 자기 논리 어쩌고 저쩌고라는 개념으로 이야기 하더라고. 내 머리속의 스키마는 테이블구조 문서인데 말이지... 이거부터가 좀 생소했어. 아무튼 각설하고.
디비는 도커로 띄었고 로컬에서는 잘 됐음. 근데 내 테스트 서버로 이동하면서 문제가 생겼는데 쿼리를 실행 못 하더라고. 보니 테이블에 릴레이션이 없다고 어쩌고 저쩌고 라는거야. (백엔드는 fastapi로 돌고 있음)
내 머리속의 릴레이션은 외래키인데 말이지. 여기서 두 번째 생소함이....
아무튼 그래서 고민을 좀 해보니 얘내들이 말하는 논리적 구조가 디비에도 같이 들어가 있어야 하는거 같은 느낌인데... 테스트 디비의 테이블은 그냥 구조만 가져와서 쿼리문 돌려서 create table 한거거든.
이거 혹시 뭐 논리 구조(?) 까지 기존 디비에서 가져와야 하거나 그런거야? 아니면 새로은 디비 서버 생성 할 때마다 디비 콘솔 직접 들어가서 생성해주고 그래야 하는거야...
용어만 다를뿐 사용하는 입장에서는 Mysql이랑 거의 다를건 없음. 웬 논리적 구조? 뭔소리임? MySQL과의 메이저한 차이라면 MVCC와 VACUUM인데
글고 postgres 커뮤니티가 더 큼. mysql 유틸리티가 얼마나 적은데. 단적인 예로 mha4mysql-manager 한 6년된거 그대로 쓰는것도 토악질 나오지. 성능도 대체적으로 postgres가 좀더우수함. YugabyteDB라는 postgres-compatible DB도 아주 인기있고.