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

전체 글 185

[PostgreSQL] 관리 및 성능 모니터링 SQL

세션 관련 SQL세션 수select count(*) from pg_stat_activity ;Active 세션 정보SELECT datname, usename, state, queryFROM pg_stat_activityWHERE state = 'active';idle 세션 정보SELECT datname, usename, state, queryFROM pg_stat_activityWHERE state = 'idle';특정 사용자 세션 조회SELECT datname, usename, state, queryFROM pg_stat_activityWHERE username = '';현재 실행 중인 쿼리 중단SELECT pg_cancel_backend(PID);현재 세션을 강제 종료SELECT pg_terminat..

PostgreSQL 2025.11.25

[PostgreSQL] psql 명령어

PostgreSQL의 psql 명령줄 도구에서 사용할 수 있는 백슬래시(\) 명령어들의 전체 목록에 대한 설명입니다.각 명령은 다양한 작업을 손쉽게 수행할 수 있게 도와주는 유용한 도구일 것 같습니다몇 가지 자주 쓰이는 걸 요약하자면:🔍 정보 조회 관련\d → 테이블, 뷰, 시퀀스 등 목록 보기\dt → 테이블만 보기\dv → 뷰만 보기\di → 인덱스 목록 보기\df → 함수 목록 보기\l → 데이터베이스 목록 보기\du → 역할(사용자) 목록 보기\x → Expanded 모드 전환 (복잡한 결과 보기 좋음)🧪 쿼리 실행 관련\g → 현재 쿼리 실행\gx → Expanded 모드로 쿼리 실행\gexec → 쿼리 결과를 다시 쿼리로 실행\gset → 쿼리 결과를 변수로 저장🧰 버퍼 & 파일\e → ..

PostgreSQL 2025.11.25

[PostgreSQL] 패스워드 정책 설정 및 비교

데이터베이스 계정 또는 패스워드 정책 수립시PostgreSQL은 기본적인 설정 기능을 제공하지 않기 때문에 추가 설정이 필요합니다.PostgreSQL 패스워드 정책 관련 모듈은 크게 passwordcheck 및 credcheck 가 있습니다.아래에서는 각 모듈들에 대한 설치과정과 기능 및 장단점을 비교하여 설명합니다.01. 설치과정(1) PasswordCheck1. 해당 모듈은 사용자 비밀번호 정책에 대한 기능을 가짐2. PostgreSQL 설치 시 기본적으로 해당 라이브러리를 제공1. shared_preload_libraries = 'passwordcheck' 추가2. 서버 재기동 (2) CredCheck1. 해당 모듈은 사용자 계정 관련 정책을 포함하여 passwordcheck 보다 정책이 다양함2...

PostgreSQL 2025.11.25

[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