본문 바로가기
삵

#PostgreSQL · 15개

PostgreSQL 쿼리가 락에 걸려 멈출 때

Amazon Web Services

RDS PostgreSQL을 운영하다 보면 평소 수십 밀리초에 끝나던 UPDATE가 갑자기 몇 분씩 응답이 없는 상황을 만난다. CPU도 멀쩡하고 디스크 I/O도 한가한데 특정 테이블을 건드리는 쿼…

아아무로레이·2026년 10월 17일·조회 0

Patroni와 etcd로 PostgreSQL 자동 승격

Amazon Web Services

RDS를 쓰면 Multi-AZ 토글 하나로 장애 조치가 끝난다. 그런데 EC2에 PostgreSQL을 직접 올려 쓰는 환경이라면 그 자동 승격을 손으로 만들어야 한다. 예전에 keepalived와 …

아아무로레이·2026년 10월 15일·조회 0

논리적 복제로 PostgreSQL 최소 중단 업그레이드

Amazon Web Services

메이저 버전 업그레이드는 미루기 쉬운 일이다. RDS의 in-place 업그레이드는 버튼 한 번으로 끝나는 대신 그 시간만큼 DB가 멈춰 있고, 데이터가 크면 중단이 수십 분으로 늘어난다. 서비스를…

아아무로레이·2026년 10월 6일·조회 5

락 없이 PostgreSQL 인덱스 추가하기

Amazon Web Services

운영 중인 테이블에 인덱스 하나 추가하려다 서비스가 멈춘 경험이 한 번쯤 있을 것이다. 가입자가 늘면서 느려진 쿼리를 잡으려고 인덱스를 거는데, 그냥 CREATE INDEX 를 때리면 테이블 쓰기가…

아아무로레이·2026년 10월 5일·조회 4

RAG 정확도를 리랭커로 끌어올리기

AI

RAG를 붙여 놓고 나면 꼭 한 번은 겪는 장면이 있다. 질문은 멀쩡한데 모델이 엉뚱한 문단을 근거로 답을 지어낸다. 로그를 열어 보면 벡터 검색이 가져온 상위 문서부터 질문과 미묘하게 어긋나 있다…

stdio.hstdio.h·2026년 10월 5일·조회 5

pg_stat_statements로 느린 쿼리 Top N 뽑기

Amazon Web Services

운영 중인 서비스가 느려질 때 어디서부터 봐야 할지 막막한 경우가 많다. 특정 화면 하나가 아니라 서버 전체가 무겁게 느껴지면 슬로우 쿼리 로그만으로는 그림이 안 잡힌다. 나는 이럴 때 개별 쿼리 …

아아무로레이·2026년 9월 22일·조회 4

Flyway로 Spring Boot 스키마 버전 관리

Development

운영 DB 스키마를 누가 언제 어떻게 바꿨는지 추적이 안 돼서 곤란했던 경험은 대부분 있을 것이다. 개발 DB에서는 되던 쿼리가 운영에서 컬럼이 없다고 터지고, ALTER 문은 누군가의 로컬 메모나…

아아무로레이·2026년 9월 9일·조회 18
Development

Testcontainers로 Spring Boot 통합 테스트에 진짜 DB와 Kafka 띄우기 - @ServiceConnection, 컨테이너 재사용, CI 설정

통합 테스트를 H2 인메모리 DB로 돌려놓고 운영은 PostgreSQL로 하는 프로젝트를 자주 본다. 나도 예전엔 그렇게 했다. 빠르고 편하니까. 문제는 방언(dialect) 차이에서 터진다. H2…

¯¯\_(ツ)_/¯·2026년 9월 4일·조회 12
Amazon Web Services

PostgreSQL 17 네이티브 증분 백업 - pg_basebackup --incremental로 뜨고 pg_combinebackup으로 복구본 합성하기

EC2에서 직접 굴리는 PostgreSQL의 백업 스크립트를 손보다가, 그동안 pg_basebackup 으로 매번 전체본을 통째로 떠오던 게 눈에 걸렸다. DB가 수백 GB로 커지면 이 전체 백업 …

아아무로레이·2026년 9월 1일·조회 7
Amazon Web Services

pg_stat_statements로 느린 쿼리 찾고 auto_explain으로 실행계획 보기 - RDS/EC2 PostgreSQL 튜닝

운영 DB가 갑자기 느려졌다는 이야기를 들으면 제일 먼저 하는 일이 "어떤 쿼리가 느린지"부터 특정하는 것이다. 그런데 막상 접속해서 pg_stat_activity 를 들여다봐도 그 순간 마침 도는…

아아무로레이·2026년 8월 25일·조회 17
Amazon Web Services

PostgreSQL XID wraparound로 DB가 멈췄을 때: 'database is not accepting commands' 진단과 복구

새벽에 애플리케이션이 통째로 쓰기를 못 하고 로그에 database is not accepting commands 가 찍히면 대부분 여기서 처음 XID wraparound라는 단어를 검색하게 된다.…

아아무로레이·2026년 8월 12일·조회 15
Amazon Web Services

pg_wal이 계속 커져 디스크가 꽉 찰 때: 남아 있는 복제 슬롯 정리와 max_slot_wal_keep_size 설정

DB 스토리지 경고를 받고 급하게 접속해 본 경험은 운영을 해본 사람이라면 한 번쯤 있을 것이다. 그런데 막상 들어가 보면 테이블은 그대로인데 pg_wal 만 부풀어 있는 경우가 꽤 있다. 스토리지…

아아무로레이·2026년 7월 29일·조회 19
Java

Spring Boot JPA N+1 쿼리 진단과 해결: generate_statistics, fetch join, @EntityGraph, @BatchSize

코드 리뷰나 성능 점검을 하다 보면 JPA N+1 얘기를 반복해서 하게 된다. 목록 화면 하나 열었을 때 쿼리가 몇 개 나가는지 물어보면 답이 바로 안 나오는 경우가 많고, 원인을 찾은 뒤에도 fe…

¯¯\_(ツ)_/¯·2026년 7월 29일·조회 15

Springboot - PostgreSQL - DataSource - Maven 연동

Development

1. 배경 Springboot 기반으로 PostgreSQL 연동하여 작업 실행. 2. Maven Dependency dependency groupid org.postgresql /groupid ar…

아아무로레이·2022년 6월 29일·조회 5,634

PostgreSQL 설치 방법

Miscellaneous

1. 개요 2. apt 설치 및 삭제 2.1. 설치 Ubuntu 기준으로 하여, apt로 설치한다. $ sudo apt install postgresql Reading package lists...…

열린기술자열린기술자·2019년 10월 25일·조회 31,582