Category: PostgreSQL

RDBMS: PostgreSQL

데이터베이스 이론 – 모델링 #.2

개체-관계(E-R, Entity-Relationship) 모델이란? 데이터 모델은 데이터베이스 설계에 대한 계획 또는 청사진입니다. 건축에 비유해보면 시공을 하기전에 설계를 하는 것인데, 시공이 어느정도 된 시점에서 변경사항을 반영하는 것은 비용도 많이 들고, 시간적인 손해도 많이 발생합니다. 데이터베이스도 마찬가지로 구축이...

데이터베이스 이론 – 모델링 #.1

  데이터베이스란? 그동안 각 DB가 가지는 기술적인 부분들에 집중하느라 기초적인 부분들을 많이 잊고 지냈습니다. 처음으로 돌아가는 마음으로 데이터베이스에 대한 기초적인 내용들을 정리 해보려 합니다. RDBMS에 대한 이론에 대해서 말이죠. 데이터베이스의 목적은 사람들이 필요로 하는 어떤것들을...

PostgreSQL 12 설치 및 PostGIS 설치 (+ pgbouncer 설정)

  오랜만에 포스팅입니다. 늦은 나이에 대학 수업에 직장 야근이 늘다보니 번아웃이 와서 한참 손을 놔버렸었습니다… 학기가 끝나니까 뭔가 빡세게 공부했던 하루하루가 확 풀어져 버려서 느슨하게 되어 버렸네요. 다시금 달려봐야 할것 같네요.   PostGIS 요즘은 새...

객체 관계 데이터베이스 ORDBMS

  객체관계 데이터베이스 ORDBMS 객체 관계 데이터베이스(object-relational database; ORD, ORDB) 또는 객체 관계형 데이터베이스 관리 시스템(object-relational database management system; ORDBMS)은 객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템(RDBMS, 관계 데이터베이스)을 말합니다. 소프트웨어 개발자가 스스로 데이터...

PostgreSQL Localization

    PostgreSQL Localization 로케일 지원은 initdb를 이용해 클러스터를 구성하면 자동으로 초기화 됩니다. 특별히 옵션을 넣지 않으면 en_US.UTF8로 설정이 됩니다. LC_COLLATE String 정렬 순서 LC_CTYPE 문자 분류 (어떤글자인지, 대문자도 동일한지) LC_MESSAGES 메세지 언어 LC_MONETARY 통화...

오픈소스 모니터링 툴 PMM2 (MySQL, MariaDB, PostgreSQL, Mongo)

  Percona Monitoring and Management 2 PMM은 Percona에서 프로메테우스와 그라파나를 이용해 무료로 배포하고 있는 모니터링 툴입니다. (https://www.percona.com/software/database-tools/percona-monitoring-and-management) 최근에 2버전으로 업데이트가 되면서 기존 1.7버전과는 많은 것이 바뀌었습니다. MariaDB의 Galera Cluster 모니터링 뿐만아니라, PostgreSQL 모니터링도 정식으로 지원하기...

[Playbook] PostgreSQL 다중화 구성

  PostgreSQL 다중화 구성 미리 /etc/hosts 파일에 pgsql01,02,03의 ip를 넣어줬습니다. inventory [master] pgsql01 [slave] pgsql02 pgsql03 . . . [postgres:children] master slave ansible_user=root ansible_password=<mypassword> 10,11 버전 사용가능. (9.6 사용 불가) ansible-playbook -i inventory inst_psql.yml –extra-vars...

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를 운영하려면 신중히 고려한 후에 결정하셔야 합니다. 성능 문제나 도커와 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를 바로 Master로...

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

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