긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

분류 전체보기 192

[PostgreSQL] bufferd I/O vs direct I/O

01. PostgreSQL 기본 방식기본 동작PostgreSQL은 전통적으로 모든 I/O를 운영 체제의 페이지 캐시(Page Cache)를 사용하는 Buffered I/O 방식으로 처리합니다.파일을 열 때 open() 시스템 호출에서 O_DIRECT 플래그를 사용하지 않으며, WAL, 테이블, 인덱스 파일 모두 OS 캐시를 거쳐 디스크에 기록됩니다.동일한 데이터를 Shared Buffer 와 OS Cache 에 이중으로 저장하므로 메모리 낭비 (Double Buffering) Direct I/O 란?운영체제의 파일 시스템 캐시를 사용하지 않고 데이터를 직접 디스크에 읽거나 쓰는 방법파일 캐시를 거치지 않고 Shared Buffer 에서 디스크로 직접 엑세스하기 때문에 불필요한 지연(2중 캐시 처리)이 발..

PostgreSQL 2025.11.25

[PostgreSQL] pgvector 설치 및 간단한 사용 예시

00. pgvector 소개본 가이드는 pgvector 개념 및 설치 후 실습에 대한 메뉴얼입니다.vector 는 다차원 공간에서 데이터를 나타내는 수학적 표현으로, AI 모델에서 이미지, 텍스트, 음성 데이터를 벡터로 변환하여 벡터 간 유사도를 계산하는 데 사용됩니다.pgvector 는 PostgreSQL에서 벡터 데이터를 저장하고 유사도 검색을 지원하는 확장 모듈입니다.pgvector의 주요 기능벡터 데이터 저장: PostgreSQL 내에서 벡터 데이터를 효율적으로 저장할 수 있습니다.유사도 검색: 코사인 유사도, 유클리드 거리, 내적 등 다양한 벡터 유사도 검색 방식을 지원합니다.확장성: 인덱스 기능을 통해 대규모 데이터에서 빠른 검색을 지원하여 성능을 최적화합니다.01. pgvector 설치주의사..

PostgreSQL 2025.11.25

[PostgreSQL] Hugepages 설정

01. PostgreSQL 메모리 구조PostgreSQL 은 데이터를 읽고 쓰는 과정에서 공유 메모리 영역인 Shared Buffer 에 있는 메모리를 사용한다.자주 사용되는 데이터(페이지) 를 메모리에 올려 디스크 I/O를 줄이고 빠른 성능 향상을 유도한다.02. OS Cache Page 활용PostgreSQL 은 데이터베이스 성능 향상을 위해 OS 파일 시스템 Cache 를 활용합니다. 따라서 데이터가 Shared Buffer에 있다면 OS Cache 에도 있을 수 있습니다. 이를 활용하여 WAL, 테이블, 인덱스 모두 OS 캐시를 거쳐 디스크에 기록됩니다.조회 할 데이터가 Shared Buffers 에 없다면, OS 캐시에 데이터를 찾고 있다면 참조, 없다면 최종적으로 디스크에 읽어 Shared B..

PostgreSQL 2025.11.25

[PostgreSQL] Clustering 란 ?

Clustering 일반적으로 DB 구조를 보면, DB 서버와 스토리지가 하나씩 구성되어 있다. ​ 만약 서버가 제대로 동작하지 않으면 먹통이 된다. ​ 실시간으로 돌아가면서 데이터 손실을 방지하기 위해서 서버를 여러개로 구성 하는 것이다. 이때, DB서버는 서로 다른 인스턴스에서 동작한다. 이 경우 서버 두 대를 하나로 묶어 운영한다. ​ 두 서버 모두 Active 상태이다. 따라서 서버 한 대가 죽더라도 하나가 동작하고 있고 그동안 복구를 하여 서비스 중단이 없도록 할 수 있다. 또한, 하나의 DB 서버에 가해지던 부하도 나눠짐으로써 CPU와 Memory 부하도 줄어들게 되어 성능 및 유지보수가 향상된다. ​ 다만, 여러 개의 서버가 하나의 스토리지를 공유함으로써 병목현상이 발생한다. 이를 해결하기 ..

PostgreSQL 2023.04.19

[PostgreSQL] Unlogged Table 이란 ?

Unlogged Table A. UNLOGGED Table 이란? ​ 서버 충돌 후 데이터 일관성 또는 정합성이 문제가 되지 않거나 대용량 데이터 쓰기를 위해 당분간 데이터를 복구할 가능성이 없는 경우에 한해 성능 향상이 필요한 일회용 테이블을 처리하려는 경우, Unlogged Table 이 적합합니다. Unlogged Table은 2011 년 PostgreSQL 9.1에 도입되었으며 v9.5부터 alter 구문을 통하여 Unlogged Table, Logged Table 로 전환 사용이 가능합니다. WAL (Write-Ahead Logging ) 시스템은 Postgres를 안정적으로 만드는 주요 구성 요소입니다. WAL 은 이중화 상태일 경우 데이터 동기화에 필요하며 또한, 장애 조치를 위해 복제에 사..

PostgreSQL 2023.04.19

[PostgreSQL] 단일 사용자 모드 (single mode) 란 ?

단일 사용자 모드 ( Single Mode ) 1] 디버그 작업이나, 장애 복구 때 사용한다 2] 세션 사용자 ID를 1로 처리하며, 명령을 실행한 사용자가 슈퍼유저(관리자) 권한을 가진다. 3] 이 사용자는 다중 사용자 환경에서는 없는 사용자이며, 손상된 시스템 카탈로그를 수동으로 복구할 때 단일 사용자 모드로 실행할 수 있다. 4] 단일 사용자 모드에서는 자동 체크포인트나, 복제 같은 백그라운드 프로세스가 실행되지 않는다. [postgres@localhost data]$ postgres --help postgres is the PostgreSQL server. Usage: postgres [OPTION]... Options for single-user mode: --single selects sing..

PostgreSQL 2023.04.19

[PostgreSQL] postgres_fdw 설치 & 가이드

postgres_fdw Oracle DB-Link 처럼 물리적으로 떨어져 있는 데이터베이스를 사용하기 위한 Extension Postgresql은 DB Link 보안 취약점 타파를 위해 Oracle DB Link와 다르게 Link를 사용할 연동 테이블 별로 각각 Link 생성 전체 데이터베이스에 링크 생성 불가 extension 설치 create extension postgres_fdw; extension 조회 experdb=# \dx+ postgres_fdw Objects in extension "postgres_fdw" -[ RECORD 1 ]------+-------------------------------------------- Object description | foreign-data wra..

PostgreSQL 2023.04.12

[PostgreSQL] WAL (Write Ahead Log ) 개념과 특징

Write-Ahead Log Shipping Primary 서버의 WAL 내용을 Standby 서버로 옮겨 같은 상태를 유지하도록 하는 방식 Primary 서버의 장애가 발생하여 DBMS 가 중지되면 즉시 Standby 서버가 Primary 로 운영될 수 있다. Standby 와 같은 대기 서버를 구축하려면, WAL 내용을 대기 서버로 전달하는 방식이 2가지가 있다. - 파일 기반 로그 복사 ( 비동기 ) - Streaming Replication 방식 ( 동기,비동기 ) * 동기 - 데이터를 받는 방식에서 요청과 그 결과가 동시에 일어남, 결과가 주어질 때까지 다른 작업이 안되고 대기 상태 ( Sync ) 비동기 - 동시에 일어나지 않아서, 바로 결과가 나타나지 않음, 하지만 복잡함 ( Async ) ..

카테고리 없음 2023.04.03

[PostgreSQL] pg_dump 사용법 & 복구 절차

pg_dump 여러 데이터 센터에 걸쳐 복제 클러스터를 구축할 수 있지만, 우발적인 DELETE DROP 후에는 백업만이 해결책 이중화 구성이 백업을 대체할 수 없음. # 논리적(Logical) 백업 [1] pg_dump 사용 [2] 기본적으로 일반 텍스트 파일에 저장하지만, 압축된 tar파일로도 생성 할 수 있음 [3] 이 백업은 psql과 pg_restore를 사용하여 복원 ( SQL 내용을 쉽게 추출할 수 있음 ) [4] pg_dump --help pg_dump [OPTION] ... [DBNAME] g_dump dumps a database as a text file or to other formats. Usage: pg_dump [OPTION]... [DBNAME] General options:..

PostgreSQL 2023.04.03