[PostgreSQL] 인덱스 리빌드 (REINDEX)(재생성)하는 대표적인 방법 3가지
1년에 한 번이나 주기적인 새벽 정기 점검 때 고민하는 작업이 REINDEX(인덱스 리빌드) 입니다. 인덱스 리빌드(REINDEX)는 왜 1년 단위(또는 주기적)로 할까요?...
[PostgreSQL] 통계 쿼리 조건절 컬럼 가공을 제거 해서 인덱스를 타게 하는 방법
어떤 테이블에 insert_dt 컬럼에 인덱스가 있어도 substring(insert_dt, 1, 6)처럼 컬럼을 가공하면 데이터베이스가 인덱스를 사용하지 못하고 전체 테이블 스캔(Full Table Scan)을...
[PostgreSQL] 가장 디스크를 많이 괴롭히는 쿼리 top 10 뽑기
디스크를 많이 괴롭히는 쿼리을 뽑아낸 뒤, 그 쿼리들에 인덱스를 주거나 쿼리 실행 방식을 효율적으로 바꾸는 작업을 진행하시면 됩니다. avg_write_blocks (회당...
[PostgreSQL]프로시저 또는 함수내에서 특정 컬럼이나 문자열 찾는 쿼리
다음은 PostgreSQL에서 저장 프로시저(Procedure)나 함수(Function)의 소스 코드 내부에서 특정 컬럼명이나 문자열이 포함된 대상을 찾고 싶을 때 사용할 수 있는 쿼리입니다....
[PostgreSQL]pg_stat_statements 뷰를 조회하여 디스크/메모리 버퍼를 과도하게 사용(I/O 부하 유발)하는 쿼리들을 상위 순위로 추출방법 및 실행계획 튜닝
다음 첨부된 스크린샷 이미지는 pg_stat_statements 뷰를 조회하여 디스크/메모리 버퍼를 과도하게 사용(I/O 부하 유발)하는 쿼리들을 상위 순위로 추출한 결과 화면입니다. 1....
[Redis] 레디스 기초 : 조회, 삭제, 등록, 서버 구성상태 : Master-Slave 환경에서 단일 키(Hash) 제어 및 CRUD 핵심 명령어 정리
[TIL(Today I Learned)] Redis(Remote Dictionary Server) 핵심 개념 및 구조 정리 1. Redis란 무엇인가? Redis는 메모리 내에 데이터를 저장하는 In-Memory(인메모리)...
PostgreSQL에서 byte 초과 방지 트리거 생성하기 : byte 초과 시 잘라주는 트리거
PostgreSQL에서 문자열을 BYTE 기준으로 제한하려면 OCTET_LENGTH()를 이용한 BEFORE INSERT/UPDATE 트리거가 정석입니다. 1. 트리거 함수 생성 CREATE OR REPLACE FUNCTION fn_check_byte_length()RETURNS...
[PostgreSQL] 쿼리 문자열을 LENGTH(컬럼명) 가져왔는데, 바이트로 보는 방법(OCTET_LENGTH)
LENGTH() → 문자 개수 (char length) 바이트 길이 → OCTET_LENGTH() 바이트 길이 구하기 SELECT OCTET_LENGTH(컬럼명)FROM 테이블명; 예시 비교 SELECT LENGTH('ABC')...
[PostgreSQL] 특정 컬럼명을 사용하는 모든 테이블 찾는 쿼리
PostgreSQL에서 특정 컬럼명을 사용하는 모든 테이블 찾는 방법은 information_schema.columns 또는 pg_catalog를 사용하면 됩니다. 대소문자 구분 없이 찾기 특정 스키마만 조회...
[PostgreSQL] 주말, 심야, 공휴일 통계 쿼리 예제
insert_dtm 값이 문자열(YYYYMMDDHH24MISS) 형태인 20250926002144 라고 가정하고 PostgreSQL 기준으로 작성할게.핵심은 timestamp로 변환 → 요일 / 시간 추출 → 조건 필터야....




