pile·
DB / 데이터·AWS KoreaAWS Korea Tech·

Amazon Aurora 및 Amazon RDS의 PostgreSQL 18: 보안, 모니터링 및 개발자 기능 향상

Amazon Aurora 및 Amazon RDS에서 지원하는 PostgreSQL 18의 주요 개선 사항을 보안·모니터링·논리적 복제·개발자 기능 네 가지 영역으로 정리한다. MD5 패스워드 인증 폐기 예고부터 `uuidv7()` 네이티브 함수 지원까지, DBA와 개발자 모두에게 실질적 영향을 주는 변경점을 AWS Aurora/RDS 컨텍스트에서 설명한다.

핵심 포인트
  • MD5 패스워드 인증 폐기 예고: PostgreSQL 18에서 동작은 유지하지만 향후 제거 예정 → SCRAM-SHA-256 마이그레이션 필요. `md5_password_warnings` GUC 파라미터로 MD5 사용 역할을 로그에서 식별 가능
  • `pg_stat_database`·`pg_stat_statements`에 `parallel_workers_to_launch`/`parallel_workers_launched` 컬럼 추가 → 두 값의 차이로 병렬 쿼리 자원 제약 진단
  • Aurora PostgreSQL 18에서 `max_parallel_workers_per_gather` 기본값 2→0으로 변경 (병렬 쿼리 기본 비활성화, PostgreSQL 17과 다름)
  • `pg_stat_subscription_stats`에 7개 충돌 유형 컬럼 추가(`confl_insert_exists` 등), 논리적 복제 `streaming` 기본값이 `off`→`parallel`로 변경
  • `idle_replication_slot_timeout`: 비활성 복제 슬롯을 자동 무효화해 WAL 누적·디스크 고갈 방지
  • `uuidv7()` 네이티브 함수 도입: RFC 9562 준수, 밀리초 타임스탬프+랜덤 비트로 시간순 정렬 가능한 UUID 생성 → 랜덤 UUID 대비 B-tree 인덱스 단편화 방지
상세 정리
  • 보안: MD5 패스워드 인증은 PG18에서 동작하지만 향후 제거 예정, SCRAM-SHA-256으로 전환 권장
  • 보안: Aurora/RDS 기본값은 이미 `password_encryption=scram-sha-256`이나, MD5 해시된 기존 비밀번호는 파라미터 그룹 수정 + 비밀번호 재설정 필요
  • 보안: `md5_password_warnings`(동적 파라미터) — `CREATE ROLE`·`ALTER ROLE`에서 MD5 사용 시 엔진 로그에 경고, MD5 의존 역할 식별 도구로 활용
  • 모니터링: `parallel_workers_to_launch`(플래너 의도)와 `parallel_workers_launched`(실제 실행)의 차이로 병렬 워커 자원 제약 진단
  • 모니터링: Aurora PostgreSQL 18의 `max_parallel_workers_per_gather` 기본값 2→0, 병렬 쿼리가 기본 비활성화됨
  • 논리적 복제: 7개 새 충돌 추적 컬럼(`confl_insert_exists`, `confl_update_missing`, `confl_delete_missing` 등)으로 복제 충돌 유형 세분화
  • 논리적 복제: `CREATE SUBSCRIPTION`의 `streaming` 기본값 `off`→`parallel`, 대용량 트랜잭션 처리량·지연 개선
  • 논리적 복제: `idle_replication_slot_timeout` — 지정 기간 비활성 슬롯 자동 무효화, 방치된 슬롯의 WAL 무한 누적·디스크 고갈 방지
  • 개발자: `uuidv7()` — RFC 9562 준수, 밀리초 Unix 타임스탬프+랜덤 비트, B-tree 인덱스 끝 근처 삽입으로 단편화 방지
  • 개발자: `COPY` 개선 — `REJECT_LIMIT`(최대 허용 오류 수), `LOG_VERBOSITY=silent`(폐기 행 메시지 전체 억제)
  • 개발자: `RETURNING OLD/NEW` — INSERT·UPDATE·DELETE·MERGE에서 변경 전·후 행 상태를 단일 쿼리로 반환
왜 읽나PostgreSQL 18이 Aurora/RDS에 적용되는 맥락에서 DBA 실무에 즉시 영향을 미치는 변경점을 체크리스트 형태로 정리한다. MD5 마이그레이션 여부 확인, 병렬 쿼리 기본값 변경 대응, `uuidv7()` 도입 시기 판단에 바로 활용할 수 있다.
AWS Korea
AWS Korea Tech 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. DB / 데이터·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

    분석가가 직접 만든 마케팅 자동화 시스템 — 오디언스 빌더 제작기

    여기어때 데이터 분석팀(UB팀)이 개발 경험 없이 AI 에이전트 바이브 코딩으로 마케팅 자동화 시스템 '오디언스 빌더'를 구축한 과정이다. SQL 없이 UI에서 타겟 조건을 설정하면 BigQuery에서 수천만 행 대상자를 추출해 Kafka·S3를 통해 마케팅 도구로 전달하는 파이프라인을 직접 만들어, 캠페인 준비 시간을 2~3일에서 10분으로 단축했다.

    요약 이어보기
    #data-pipeline#kafka#postgres+2
  2. DB / 데이터·vercel-blogVercel Blog·

    모든 Vercel 빌드를 지탱하는 데이터베이스 마이그레이션 이야기

    Vercel이 빌드 웜 풀(warm pool) 상태 데이터를 Redis에서 DynamoDB로 마이그레이션한 과정을 다룬다. 빌드 풀의 청구 매핑 데이터가 Redis 장애 시 복구 불가능하다는 구조적 위험이 이주를 결정한 핵심 이유였고, 24/7 프로덕션 트래픽 속에서 다운타임 없이 5단계 점진적 전환을 완료했다.

    요약 이어보기
    #database-migration#zero-downtime#redis+2
  3. DB / 데이터·channel-talk채널톡·

    DynamoDB 핫 파티션을 해결하는 3가지 방법 (3): 조회를 인덱스 테이블로 옮기기

    채널톡이 DynamoDB 핫 파티션을 해결하려 GSI를 별도 인덱스 테이블로 떼어낸 연재의 마지막 편으로, 조회 경로를 GSI에서 인덱스 테이블로 옮긴 과정을 다룬다. 2편에서 쓰기 파이프라인이 완성돼 WriteThrottleEvents가 월 110만 회에서 0회가 됐지만, 조회 코드가 여전히 GSI를 읽고 있어 GSI를 지울 수 없었다. GSI가 읽기에서 대신해주던 키 해석·정확 일치·삭제 필터·페이지 채우기를 사내 공통 라이브러리의 조회 규칙으로 흡수해, 호출부는 GSI든 인덱스 테이블이든 같은 코드를 쓰게 만들었다.

    요약 이어보기
    #migration#dynamodb#hot-partition+5