Category: PostgreSQL

Sysbench : MariaDB, MySQL, PostgreSQL Benchmark Tool.

  Sysbench ? 시스템 성능을 측정할 수 있는 툴로, MySQL에서 내부 프로젝트로 만들다가 Lua 스크립트를 적용한 0.5 버전까지 나왔다가 오랜기간 개발이 중지 되었습니다. 2016년에 다시 개발이 시작되었고 현재 1.0 버전대 개발이 진행중입니다. 기존에는 소스코드를...

pg_trgm

  pg_trgm postgresql 추가모듈 중 pg_trgm을 이용하여 ‘%문자열%’ like 검색시 인덱스 스캔을 실행할 수 있습니다. (3글자 미만에 대한 패턴검색의 경우 인덱스 탐색비용이 급격히 증가, table full scan의 비용을 초과함.) pg_trgm 모듈은 유사한 문자열을 빠르게...

PostgreSQL과 MariaDB의 사이에서의 선택

  PostgreSQL과 MariaDB의 사이에서의 선택 클라우드가 대세가 되고, 오픈소스가 많은 영역에서 중요한 자리를 차지하게 됨에 따라서, 데이터베이스 영역 역시 오픈소스 DB가 많은 시장 점유율을 차지하고 있습니다. 여전히 성능과 안정성, 모든 부분에서 상용인 오라클이 가장...

Docker를 이용한 PostgreSQL 설치

    Docker를 이용해 PostgreSQL 설치   요즘은 도커를 이용해서 DB설치를 많이 합니다. 그런데 주의 사항은 대부분의 DB 제공자는 도커위에 DB운영을 추천하지는 않습니다. 도커로 DB를 운영하려면 신중히 고려한 후에 결정하셔야 합니다. 성능 문제나 도커와...

PostgreSQL Cache Hit Rate

  PostgreSQL의 Cache hit rate가 가지는 의미는 오라클과 비슷합니다. Shared buffer에 올라와 있는 데이터를 가져다 쓰는 비율을 나타내며, 90% 이상의 효율을 유지하는 것이 성능적인 부분에서 유리합니다.   PostgreSQL cache hit ratio 조회 select round(sum(blks_hit)*100/sum(blks_hit...

PGPOOL-II 를 이용한 PostgreSQL 클러스터링 구성

  PGPOOL-II 를 이용한 PostgreSQL 클러스터링 구성   PGPOOL-II ? Pgpool-II는 PostgreSQL 서버와 PostgreSQL 데이터베이스 클라이언트 사이에 위치하는 프록시 소프트웨어입니다. 다음 기능을 제공합니다. Connection Pooling Load Balancing Automated fail over Replication Limiting Exceeding Connections...

PostgreSQL Replication을 이용한 다중화 구성

  PostgreSQL Replication을 이용한 다중화 구성 PostgreSQL은 자체적으로 미러링을 해서 Slave를 만드는 다중화 구성 기능이 있습니다. Wal 파일을 이용해 실시간 스트리밍으로 Slave 노드에 데이터를 쌓아, 운영중인 Master 노드와 동일한 데이터를 보유하고, 장애시 Slave를 바로...

PostgreSQL 온라인 적용 가능 파라미터 확인

  PostgreSQL 온라인 적용 가능 파라미터 확인   PostgreSQL의 파라미터 (postgresql.conf) 중에 반드시 restart로 적용해야 하는 파라미터가 있는가 하면, reload만으로도 적용 가능한 파라미터가 있습니다. 만약 archive_command 파라미터의 restart, reload 여부를 알고 싶다면, select name,...

PostgreSQL 온라인 백업 스크립트

  PostgreSQL 온라인 백업용 스크립트 입니다. Crontab에 걸어서 사용하면 됩니다. 해당 스크립트는 PostgreSQL DB의 wal_level 이 logical or replica or hot_standby 일 경우에만 사용 가능합니다. pg_backup.sh ## PostgreSQL 백업 스크립트 ## 해당 스크립트는 PostgreSQL...

Docker를 이용해 PostgreSQL 설치

  Docker를 이용해 PostgreSQL 설치 도커가 설치 되어 있는 상태에서 아래의 명령으로 설치 해줍니다. 우선 컨테이너를 PostgreSQL 공식 도커 허브에서 내려 받습니다. $ docker pull postgres:9.6.11 그리고 도커를 실행 해줍니다. $ docker run -e...

PostgreSQL 아카이브 모드

  PostgreSQL 아카이브 모드 (Archive Mode) – PostgreSQL에서 아카이브 모드를 이해하기전에 WAL을 자세히 알고 넘어가야 할 필요가 있습니다. – WAL (Write-Ahead Logging)은 데이터 무결성을 보장하는 표준 방법입니다. – WAL의 중심개념은 변경 내용을 설명하는 로그...

pg_stat_statements

  pg_stat_statements 란? pg_stat_statements 모듈은 서버에서 실행 되었던 쿼리들에 대한 실행 통계 정보를 보여줍니다. pg_stat_statements 모듈이 로드되면, 이 때부터 해당 서버의 모든 데이터베이스에서 일어나는 쿼리 통계가 수집됩니다. 하지만, 이 통계를 보는 pg_stat_statements view, 통계를...

PostgreSQL 테이블스페이스 및 오브젝트 사용량 확인

  PostgreSQL 테이블스페이스 및 오브젝트 사용량 확인   테이블스페이스 총량 postgres=# select spcname, pg_size_pretty(pg_tablespace_size(spcname)) from pg_tablespace; Table Size (Index 미포함) postgres=# select pg_relation_size(‘TableName’); Table Size (Index 포함) postgres=# select pg_total_relation_size(‘TableName’); Index size postgres=# select pg_relation_size(‘IndexName’); Total Size...