반응형
반응형
PostgreSQL VACUUM FULL 후 relfrozenxid age가 1로 줄어드는 이유 PostgreSQL에서 VACUUM FULL을 수행한 뒤 pg_class.relfrozenxid의 age 값이 크게 낮아지는 현상은 정상적인 동작이다. 일반 VACUUM이 기존 테이블 파일 안에서 불필요한 튜플을 정리하는 방식이라면, VACUUM FULL은 테이블을 새로 재작성하는 방식에 가깝기 때문이다. 핵심 요약 VACUUM FULL은 일반 VACUUM처럼 일부 페이지만 정리하는 작업이 아니라 테이블을 새 relfilenode로 재작성한다. 이 과정에서 살아 있는 튜플만 새 테이블로 복사되고, 새 테이블의 relfrozenx..
Oracle to PostgreSQL Migration oracle_fdw ORA-00943 오류, Oracle 테이블 대소문자와 스키마 확인 방법 Oracle에서 PostgreSQL로 마이그레이션하는 과정에서 oracle_fdw 외래 테이블은 생성되지만 조회 시 ORA-00943: table or view does not exist 오류가 발생할 수 있다. 이 경우 대부분 Oracle 쪽 스키마명과 테이블명을 PostgreSQL 외래 테이블 옵션에 정확히 지정하지 않아 발생한다. 오류 상황 정리 PostgreSQL 15 환경에서 oracle_fdw 확장을 설치하고 Oracle 12c..
PostgreSQL Data Corruption PostgreSQL invalid page in block 오류 원인과 복구 대응 방법 PostgreSQL에서 invalid page in block xxxx of relation base/... 오류가 발생했다면 단순 SQL 오류가 아니라 테이블 또는 인덱스 파일의 물리적 페이지 손상 가능성을 먼저 봐야 한다. 특히 테이블 데이터 페이지가 깨진 경우에는 REINDEX나 VACUUM FULL만으로 데이터 손실 없이 복구하기 어렵다. 오류의 의미 PostgreSQL은 테이블과 인덱스를 여러 개의 8KB 페이지 단위로 저장한다. invali..
PostgreSQL WAL Archiving PostgreSQL archive_mode on과 always 차이, 운영 환경별 선택 기준 PostgreSQL의 archive_mode는 WAL 파일을 아카이브할지 결정하는 핵심 설정이다. 특히 on과 always는 Primary 서버에서는 비슷해 보이지만, Standby 서버나 복구 상태에서는 동작 차이가 분명하다. archive_mode가 하는 일 PostgreSQL은 데이터 변경 내용을 WAL, 즉 Write-Ahead Logging 파일에 먼저 기록한다. 이 WAL 파일을 별도 저장소에 보관하면 장애 복구, 백업 복원, 특정 시점 ..
SUSE OS에서 PostgreSQL 기반 DBMS 대용량 처리 문제 정리 정리된 내용 SUSE OS 커널 7버전대 환경에서 PostgreSQL 기반 DBMS가 대용량 데이터를 처리할 때 문제가 발생한다면, 단순히 DB 설정만 볼 것이 아니라 커널 메모리 정책, 디스크 I/O, 파일 시스템, 커넥션 수, 체크포인트, WAL 처리량을 함께 확인해야 한다. 핵심 원인은 대용량 쿼리 자체보다 메모리 사용량 증가, 임시 파일 생성, 디스크 쓰기 병목, 체크포인트 집중, 커넥션 과다, 커널 캐시 압박이 동시에 겹치는 경우가 많다. 운영 환경에서는 PostgreSQL 설정값..
AgensSQL이란 무엇이며 도입 시 기대할 수 있는 점 AgensSQL은 PostgreSQL을 기반으로 한 오픈소스 기반 관계형 DBMS입니다. 일반 PostgreSQL의 장점을 활용하면서 기업 환경에서 필요한 운영 편의성, 호환성, 관리 기능을 보완하는 방향의 데이터베이스로 이해할 수 있습니다. 실무 기준으로 보면 AgensSQL은 상용 DBMS 의존도를 낮추고 PostgreSQL 계열로 전환하려는 조직에서 검토할 수 있는 대안 중 하나입니다. AgensSQL이란? AgensSQL은 PostgreSQL 기반의 관계형 데이터베이스 관리 시스템입니다. ..