Overview Version History Q & A Rating & Review
ERDmaker
PostgreSQL 전용 ERD 도구 — DB에 접속해 스키마를 가져와 ERD를 그리고, 논리/물리 이중 모델·뷰·DDL·ERMaster .erm·테이블 정의서·DB 비교(diff)를 지원하는 VS Code 확장. Eclipse ERMaster 가 주던 가치를 VS Code에서 재현합니다.
캔버스 편집기는 오픈소스 erd-editor (dineug) (MIT) 를 fork·확장해 구현했습니다.
주요 기능
기능
설명
DB → ERD
PostgreSQL 접속(폼 다이얼로그) → 스키마 추출 → ERD 렌더. 테이블만 / 테이블+뷰 선택
논리/물리 이중명
논리명(업무용어)+물리명 동시 보유. 표시 전환 + 논리명 캔버스 직접 편집
뷰(View)
테이블처럼 컬럼/타입으로 read-only 표시(드래그 이동 가능). DDL은 원본 정의 그대로
테이블 정의서
ERD → Excel(xlsx)/HTML 산출물 (목차·논리/물리·타입·PK/FK·코멘트·인덱스·뷰)
DDL 내보내기
ERD → PostgreSQL DDL(CREATE TABLE/PK/FK/INDEX/VIEW + 논리명 COMMENT ON)
DB 비교(diff)
ERD ↔ 실DB 차이를 ALTER 스크립트 로 생성(DROP류는 주석 처리로 안전)
ERMaster .erm
.erm 저장/열기(타입·논리명 호환)
사용법
1. DB에서 ERD 가져오기
명령 팔레트(Ctrl+Shift+P) → ERDmaker: Import ERD from PostgreSQL
폼에 Host / Port / Database / User / Password 입력 → Connect
Schema 선택 + Tables only / Tables + Views 선택 → Import
<db>_<schema>.erd.json이 생성되고 ERD가 렌더됩니다.
논리명은 DB 코멘트에서 자동으로 채워집니다(테이블/컬럼/뷰). PostGIS 등 확장 시스템 객체는 자동 제외.
비밀번호는 VS Code SecretStorage에 안전하게 보관됩니다.
설정 erdmaker.import.commentAsLogicalName(기본 켜짐)을 끄면 코멘트를 논리명으로 옮기지 않고 comment 필드에 유지합니다.
2. 논리/물리 표시 전환 & 논리명 편집
캔버스 빈 곳 우클릭 → Logical/Physical → Physical / Logical / Logical + Physical
Logical 모드에서 테이블명/컬럼명을 더블클릭하면 논리명을 바로 편집 할 수 있습니다(한글 입력 지원, Ctrl+Z 되돌리기 지원). Physical 모드 편집은 물리명을 바꿉니다.
우클릭 → Letter Case : 영문 물리명을 None / UPPERCASE / lowercase로 표시 전환.
3. 테이블 정의서 내보내기 (Excel/HTML)
정의서를 뽑을 .erd.json을 연 상태에서 명령 팔레트 → ERDmaker: Export Table Specification (테이블 정의서)
Excel (.xlsx) / HTML / 둘 다 선택
같은 폴더에 <이름>-spec.xlsx / <이름>-spec.html 생성
Excel: 테이블목록 시트(목차) + 테이블정의서 시트(테이블별 컬럼: No/컬럼명/논리명/타입/PK/FK/NN/UQ/AI/Default/설명) + 뷰정의서 시트.
HTML: 인쇄 친화 단일 문서(목차 앵커 + 테이블별 섹션 + 인덱스 + 뷰).
4. DB 비교 — ALTER 스크립트 생성 (diff)
기준이 될 .erd.json(설계)을 연 상태에서 명령 팔레트 → ERDmaker: Compare ERD with Database (diff DDL)
DB 접속(.env/설정 프리필) → Schema 선택
같은 폴더에 <이름>-diff.sql 생성 + 에디터로 열림
DB를 ERD에 맞추는 방향 의 PostgreSQL 스크립트: 테이블/컬럼 추가(CREATE TABLE/ADD COLUMN), 타입·NOT NULL·DEFAULT 변경(ALTER COLUMN), 코멘트(COMMENT ON), FK/인덱스 추가, 뷰 생성.
삭제류(DROP TABLE/COLUMN/CONSTRAINT/INDEX)는 전부 주석 처리 되어 출력됩니다 — 데이터 손실 방지를 위해 직접 검토 후 해제하세요.
NOT NULL 신규 컬럼 등 실행 시 주의가 필요한 항목엔 경고 주석이 붙습니다.
5. DDL 내보내기
캔버스 우클릭 → Export → Schema SQL → PostgreSQL .sql
CREATE TABLE / PK / ALTER TABLE … FOREIGN KEY / CREATE INDEX / CREATE VIEW(원본 정의 verbatim) + 논리명 COMMENT ON.
6. ERMaster .erm 저장/열기
명령 팔레트 → ERDmaker: Export to ERMaster (.erm) / ERDmaker: Import from ERMaster (.erm)
타입은 ERMaster 관례(varchar(n)+길이 분리)로 저장되어 ERMaster에서 열어도 타입이 정합됩니다.
7. Working Set (업무 그룹 보기)
캔버스 하단 탭바 [All | 세트들 | + | 👁] — +로 세트 생성, 더블클릭 이름변경, x 삭제.
테이블 우클릭 → Working Set 으로 세트에 추가/제거. 탭 전환 시 그 세트만 표시(👁로 숨김↔흐림 전환).
세트가 활성일 때 Schema SQL은 그 세트만 출력, 테이블 정의서는 전체/세트 선택 가능. .erm 저장/열기에도 세트가 보존됩니다.
8. 파일 트리에서 시작
탐색기 폴더 우클릭 → "New ERD from PostgreSQL…" — 그 폴더에 바로 ERD 생성.
열려 있는 .erd.json이 있으면 Import 다이얼로그에서 "현재 파일에 채우기" (내용 대체) 선택 가능.
9. 배치/표시 편의
Automatic Table Placement : 관계 기반 자동 배치(force).
Align to Pages : A4/A3/B4 용지 단위 그리드 정렬 — 넘치면 다음 장으로 이어 배치, export 잘림 방지.
이름 칸 자동 폭(논리/물리/둘다 모드 모두 잘림 없음), 뷰 노드 드래그 이동.
범위
라이선스
MIT. erd-editor (MIT) 파생물입니다.