피드로 돌아가기
GBase 8c Object Dependency Checks Before Schema Changes
Dev.toDev.to
Database

System Catalog 기반 의존성 분석을 통한 GBase 8c Schema 변경 리스크 제어

GBase 8c Object Dependency Checks Before Schema Changes

Michael2026년 6월 7일6intermediate

Context

DDL 실행 시 단순 구문 오류보다 View, Trigger, Function 등 의존 객체의 침묵 파손으로 인한 운영 장애 위험 존재. 특히 Table Rewrite로 인한 Disk 사용량 2배 증가 및 서비스 가용성 저하라는 기술적 제약 상황 분석.

Technical Solution

  • PG_DEPEND 및 PG_REWRITE 결합을 통한 View 의존성 추적 및 Cascade Risk 사전 식별
  • PG_TRIGGER와 PG_PROC 조회를 통한 Trigger-Function 연결 고리 분석 및 영향도 평가
  • deptype(n, a, i, p) 분류를 통한 의존성 성격 파악 및 매뉴얼 검토 대상 선정
  • Hot Table의 Column Type 변경 시 'New Column 추가 → Batch Backfill → View 업데이트 → Old Column 삭제'로 이어지는 단계적 이관 전략 채택
  • DB 객체뿐 아니라 Application SQL 및 ETL Job까지 포함하는 End-to-End 감사 프로세스 수립

1. DDL 실행 전 PG_DEPEND의 deptype 'n' 항목 전수 조사

2. Table Rewrite 유발 항목(NOT NULL 추가, Type 변경) 확인 시 Disk 공간 2배 확보 여부 검토

3. 고위험 변경 시 원자적 변경 대신 '추가-동기화-교체'의 단계적 전략 적용

4. Dynamic SQL 사용 여부에 따른 Application Code 레벨의 텍스트 검색 병행

원문 읽기