반응형
반응형
PostgreSQL 데이터베이스 사용 가능 범위 PostgreSQL은 데이터 무결성과 트랜잭션 일관성을 매우 엄격하게 요구하는 데이터베이스다. 이 때문에 데이터 디렉터리(PGDATA)가 위치하는 스토리지 유형에 따라 사용 가능 여부와 안정성이 크게 달라진다. 공식 문서와 운영 경험을 기준으로, CIFS, NFS/NAS, 로컬 디스크 환경에서의 사용 가능 범위를 정리한다. 1️⃣ CIFS(SMB) – 사용 불가능 CIFS(SMB)는 PostgreSQL 데이터 디렉터리 용도로 사실상 사용 불가능하다. 가장 큰 이유는 PostgreSQL이 요구하는 파일 시스템 권한과 동작 방식을 CI..
PostgreSQL repmgr 스플릿브레인 복구 가이드PostgreSQL repmgr HA 환경에서 네트워크 단절이나 장애 처리 미흡으로 인해 두 노드가 동시에 primary role을 가지는 스플릿브레인(split-brain) 상황이 발생할 수 있습니다. 이 글은 이미 두 노드 모두 primary 상태가 되어버린 환경에서, 한 노드를 기준 Primary로 확정하고 나머지 노드를 pg_rewind + repmgr standby register로 되살리는 절차를 정리한 기술 가이드입니다.1️⃣ 장애 상황 및 증상 정리 환경 PostgreSQL + repmgr 기반 2노드 HA(Primary 1대, Standby 1대 구성) 장애 유형 ..
PostgreSQL 오류: cannot merge attstreams with duplicate TIDs — 원인·분석·조치 특정 테이블에서 쿼리/인덱스 작업/테이블 리라이트 시 cannot merge attstreams with duplicate TIDs 오류가 발생할 수 있습니다. 이는 TID(튜플 식별자) 충돌 또는 테이블 접근 방법(Access Method, AM)과 저장 포맷 간 불일치·손상으로 인해 열 스트림(TOAST/압축·컬럼 스트림 등)을 병합할 때 중복 TID가 검출되는 상황에서 보고됩니다. 핵심 요약 - 주로 비-heap AM(예: 실험적 columnar/zheap/서드파티 AM)로 생성된 테이블에서 발생 → heap AM로 전환 시 해결되는 사례 다수 - 인덱스..
DBMS의 종류와 특징 — 관계형부터 객체관계형까지 DBMS(Database Management System)는 데이터를 체계적으로 저장·관리·보호하여 다양한 애플리케이션에서 효율적으로 접근할 수 있게 해주는 핵심 소프트웨어입니다. 이번 글에서는 DBMS의 대표적인 유형과 각 모델의 특징, 활용 사례를 정리했습니다. 1️⃣ 관계형 DBMS (RDBMS) 데이터를 테이블(Table) 형식으로 저장하고, SQL을 통해 접근하는 가장 보편적인 데이터베이스입니다. 데이터를 행(Record)과 열(Field)로 구성하여 저장. 테이블 간 관계는 Primary Key, Foreign Key로 정의. 데이터 무결성과 일관성 보장...
PostgreSQL CVE-2025-1094 — quoting API SQL Injection 취약점 분석 및 대응 1️⃣ 개요 CVE-2025-1094는 PostgreSQL 클라이언트 라이브러리(libpq)의 quoting 관련 API에서 발생한 SQL Injection 취약점입니다. 해당 취약점은 문자열 인코딩 검증 실패 시 따옴표(quoting) 구문이 제대로 중화되지 않아 악성 입력이 SQL 명령으로 해석될 수 있는 문제로, PostgreSQL 프로젝트는 이를 Critical 수준(점수 8.1 / AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)으로 분류했습니다. ..
PostgreSQL HA 구성 중 /etc/hosts 권한 문제로 인한 클러스터 인식 오류PostgreSQL HA(replication) 환경에서 repmgr을 이용해 이중화를 구성하는 경우, 보안 점검 또는 자동화 스크립트로 인해 /etc/hosts 파일 권한이 600으로 변경되면 노드 간 통신이 차단되어 클러스터 인식이 실패할 수 있습니다.1️⃣ 문제 증상repmgr cluster show 실행 시 일부 노드가 “unreachable” 또는 “unknown”으로 표시됨Standby 노드에서 repmgrd 서비스가 지속적으로 재시작됨pg_basebackup 또는 standby clone 과정에서 “host not found” 오류 발생2️⃣ 원인 분석/etc/hosts 파일의 권한이 600으로 제한될 ..