분류 전체보기 101

pg_hba.conf

PostgreSQL에 접속하기 위해서 Client가 인증을 획득하는 파일5개의 필드값 (TYPE,Database,User,Address,Method) 로 구성 TYPETypelocalhosthostsslhostnosslhostgssenchostnogssenc local은 localhost..host는 IP를 넣어줘서 설정할 때 쓰는 것 같아보임... Database연결할 수 있는Database 이름. 쉼표로 복수 지정 가능Databaseall복제(replication)을 제외한 모든 Databasesameuser사용자 이름과 동일한 이름의 Databasesamerole연결하는 사용자가 연결하는 Database와 동일한 이름의 Role 구성원이여야 함replication복제 권한이 있는 사용자에 의한 ..

PostgreSQL 설치 시 OS 파라미터 튜닝

## 예시 (100GB 메모리 기준)# 1. 공유 메모리 및 세마포어kernel.shmmax = 107374182400 # 100 * 1024^3 = 100GBkernel.shmall = 26214400 # 100GB / 4096 (페이지 크기 = 4KB)kernel.sem = 250 32000 100 128 # 2. OOPS 발생 시 커널 패닉 유도 → 자동 재부팅 감지 가능kernel.panic_on_oops = 1 # 3. 네트워크 버퍼 튜닝 (DB와 클라이언트 간 처리량 향상)net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.w..

pg_dumpall

pg_dump랑 비슷한데, 모든 데이터베이스를 백업하는 툴이다.그래서 그런지 슈퍼유저로 백업해야하는 것으로 보인다. 1. 테스트 데이터 생성CREATE DATABASE TESTDB;\c testdbcreate user test identified by '1234';\c testdb test CREATE TABLE t1 (c1 int);INSERT INTO t1 select * from generate_series(1,100,2);CREATE TABLE t2 (c1 int);INSERT INTO t2 select * from generate_series(2,100,2); 2. 백업pg_dumpall -U enterprisedb -p 5444 > dumpall_testdb.sql 2-1. 복구drop ta..

pg_dump

논리적 백업을 하는 툴인듯 하다 (tbexport같음) 1. 테스트 데이터 생성CREATE DATABASE TESTDB;\c testdbcreate user test identified by '1234';\c testdb test CREATE TABLE t1 (c1 int);INSERT INTO t1 select * from generate_series(1,100,2);CREATE TABLE t2 (c1 int);INSERT INTO t2 select * from generate_series(2,100,2); 2. t1 테이블 백업 (text 형식)pg_dump -U test –p 5444 -d testdb -t t1 > t1.sql 3. t2 테이블 백업 (custom format dump)pg_dum..

pg_basebackup (incremental backup)

Postgresql 17부터 pg_basebackup을 이용한 증분 백업 기능이 추가되었다. 해당 기능 사용을 위해선 postgresql.conf에 summarize_wal=on 설정이 필요하다. ## 백업 폴더 생성$mkdir -p /data1/as17/pg_basebackup /data1/as17/pg_basebackup/inc1 /data1/as17/pg_basebackup/inc2 /data1/as17/pg_basebackup/inc3## 현재 backup_tab 테이블 데이터 확인testdb=> select * from backup_tab ;' a | b---+--------------------------- 1 | 02-MAY-25 14:00:40.149758 2 | ..

pg_basebackup (full backup)

###완전 복구###1. 테스트 데이터 생성CREATE DATABASE TESTDB;\c testdbcreate user test identified by '1234';\c testdb test CREATE TABLE t1 (c1 int);INSERT INTO t1 select * from generate_series(1,100,2);CREATE TABLE t2 (c1 int);INSERT INTO t2 select * from generate_series(2,100,2); 2. config 파일 수정 $ vi $PGDATA/postgresql.confarchive_mode= onarchive_command= 'cp %p /data1/as16/archive/%f'recovery_target_inclus..

PostgreSQL Major 업그레이드

EPAS, PostgreSQL은 major 업그레이드도 migration 없이 가능한 것으로 보인다... 0) 사전체크\dx\db+ (테이블스페이스 있으면 pg_tblspc 경로 가서 심볼릭 링크 확인)\dn\du (superuser 확인도)\l+select name, setting from pg_settings where name like '%encod%';select name, setting from pg_settings where name like 'lc%';select schema_name, object_type, count(*) from dba_objects where schema_name not in ('SYS', 'INFORMATION_SCHEMA', 'PG_CATALOG') group b..

PostgreSQL Minor 업그레이드

EPAS는 엔진을 교체하는 방식을 통해 minor 업그레이드를 진행할 수 있다. 패치 전 고객사 가이드 문구EDB 패치파일 제공 및 작업계획서 작성을 위해 다음 정보 요청드립니다.요청 자료 -. EPAS 설치 OS 계정 정보 -. EPAS HOME 경로 -. EPAS 패키지 설치 정보 (rpm -qa | grep ^edb) -. postgresql.conf -. EPAS 로컬 Repository 구성할 디렉터리정보 제공 대상 시스템- ex) 정보계, 채널계 .... 1) 업그레이드 대상 EPAS 정지 /usr/edb/as16/bin/pg_ctl stop -D /data1/as16/data2) 엔진 백업 mv /usr/edb/as16 /usr/edb/as16_old3) 업그레이드를 위한 엔진 설치 d..

EPAS(Postgresql) 16 설치하기

rocky linux 9.5에 EPAS 16을 설치해보겠다. 우선 설치 파일 및 필요 패키지를 다운받기 위해 repository 설정을 해야한다. 인터넷망이 연결되어있다면 상관없겠지만, 대부분 폐쇄망이기에 해당 절차로 작업한다. 0. 해당 절차는 인터넷이 되는 환경에서 curl -1sSLf 'https://downloads.enterprisedb.com/2QfsDjM6uHCTExLCQ7jJvyx7TYMjepbK/enterprise/setup.rpm.sh' | sudo -E bash을 수행한 후 다운받은 패키지들에서 설치파일 및 패키지를 압축 후 폐쇄망으로 반입하는 절차다. 1) repo 설정 시 사용하는 createrepo downloaddnf download createrepo --resolve -..

Postgresql 아키텍쳐 및 기타 꿀팁 등 많은 사이트

Postgresql은 오픈소스이기에 상용 DBMS와 달리 대중적인 서적이 많다던가..자료 및 매뉴얼이 잘 나와 있지 않다. 그러던 중 회사 선배 추천으로 좋은 블로그를 하나 알게되었다. '엑셈 경쟁력/DB 인사이드' 카테고리의 글 목록 '엑셈 경쟁력/DB 인사이드' 카테고리의 글 목록Data Artist Group, 엑셈 공식 블로그입니다.blog.ex-em.com 해당 블로그에 찾아보기 힘든 Postgresql의 전반적인 아키텍쳐 및 내부로직에 대해 많이 기술되어 있는 듯 하다. 화이팅.

Postgresql, EPAS 2025.06.17