본문 바로가기

Database

(14)
Ubuntu 18.04에 PostgreSql 11 설치 Ubuntu하고는 인연이 없었는데, 어쩌다가 Ubuntu에 서비스 환경을 구축하게 됐다. 그 와중에 PostgreSQL 설치하게 됐는데 언젠가 다시 Ubuntu를 만날 때를 대비해 기록해 놓는다. 1. 저장소 추가 RedHat 계열에서 사용되는 Yum Repository 추가/변경 하듯이, Ubuntu에서도 PostgreSQL을 설치하려면 PostgreSQL을 위한 APT Repository를 새로 추가해야 한다. 아래는 PostgreSQL 11이 설치가 되지 않아 Repository를 추가하는 과정을 기록한 것이다. # 현재 Repository에 PostgreSQL Package가 없어 Install 실패하고 있다. browndwarf@ubuntu-server:~/work$ sudo apt-get in..
pgbench를 통한 Postgresql 성능 분석 pgbench란... pgbench는 PostgreSQL이 기본적으로 제공하는 Benchmark Tool이다. 기본적으로 Select, Insert, Update등의 command를 조합해서 simulate하고, 이를 통해 얻어지는 TPC-B라 불리는 초당 Transaction 횟수로 성능을 평가한다. 즉, 현재 설치되어 있는 HW 및 OS 환경에서 일정 Pattern의 Transaction을 수행해서 성능을 측정한다. DB와 연동하는 Application들의 특성 등은 고려하지 않는다는 단점이 있으나 사용 방법이 쉬워서 필자의 경우에는 postgreSQL을 처음 설치할 때 postgres.conf에 있는 몇몇 환경 변수 값을 정하는데 사용한다. 설치 예전에는 postgres-contrib라는 Packa..
알아두면 유용한 psql 명령어 정리 PSQL 보통 PostgreSQL을 설치할 때 Client Tool인 pgAdmin이 같이 설치되고, 대부분 GUI 환경에서 pgAdmin을 사용하기 때문에 PSQL의 존재조차 모를 때가 있다. (필자는 PostgreSQL 처음 사용했을 때 psql의 존재를 1년 정도는 몰랐었다.) 그러나 때때로 오직 Terminal로 DB 상태를 확인해야 할 상황이 생기게 되는데, 그 때 psql이 필요하고, 이 포스팅이 도움이 될 것이다. PSQL을 통한 PostgreSQL DB 접속 Linux에 PostgreSQL을 설치한 경우 아래의 경로에서 확인할 수 있으며 바로 실행이 가능하다. ... [root@localhost sedtest]# ls -la /usr/pgsql-11/bin/ total 10028 ... -..
PostgreSQL Table Partition 성능 비교 v9.6 vs v11 (+ 10) 작년에 PostgreSQL 11이 Release 되면서 많은 사항들이 개선되었는데, 필자에게 제일 와닿은 것은 Table Partition기능이 대폭 개선된 점이었다. v11에서 개선된 사항으로 인해 이전에 사용중이던 v9.6을 v11로 Upgearde할 계기가 마련되었다. 금방이라도 Upgrade를 적용하고 싶었지만, 이일 저일에 치여 미루고 있다가 이제 좀 해보려고 한다. 이 Posting은 Upgrade 타당성을 구성원들과 공유하기 위해 Survey 차원에서 실험한 내용을 정리한 것이다. About Table Partitioning 요즘은 모르는 것들은 다 인터넷에서 찾아보기 때문에 보기가 힘들지만, 예전에 좀 산다는 친구 집에 놀러가면 거실에 백과사전 한 질씩 책장에 있는 경우가 많았다. 보통 2..
PostgreSQL Log로 DB 성능 분석 (feat. pgBadger) PostgreSQL의 장점 중에 하나는 나름대로의 Open Source 생태계가 발달해 있기 때문에, 어떤 기능이 하나 아쉬울 떄 검색만 잘하면 원하던 기능을 찾을 수 있다는 점이다. 이 포스팅에서 소개하는 pgBadger도 그런 다양한 Tool중에 하나로 PostgreSQL에서 생성하는 Log를 분석해 Performance Report(html 형식)를 만들어주는 기능을 제공하고 있다. 공식 페이지에서 샘플로 제공한 결과물은 다음과 같으니 참고하시면 된다. pgBadger pgBadger와 관련된 주요 Site의 URL은 아래와 같으니 목적에 따라 방문하면 된다. http://pgbadger.darold.net : Official Page. 특징, License, Example 정보 등 제공 https..
PostgreSQL Log 설정 - 2 지난 PostgreSQL Log 설정 포스팅에 이은 다음편이다. 이래저래 정신이 없다 보니 무려 5개월 만에 같은 주제의 포스팅을 마무리하는 상황이다. 5월 들어 조금 짬이 나서 어떻게든 마무리를 짓겠다 마음 먹어서, 그나마 마무리 하는 상황이다. When to Log 'Where to Log' Sub-Section다음에 이어지는 Sub-Section이다. 여기서 말하는 'WHEN'은 현재 동작하는 PostgreSQL이 Log를 남기는 조건을 나타낸다. 설정 사항이 3가지 밖에 없고 그 중에서 log_min_duration_statement만 자주 설정을 변경할 여지가 있다. log_min_messages, log_min_messages_statement ; log_min_messages는 어떤 Leve..
PostgreSQL DB Backup 및 Restore 이번 Posting은 PostgreSQL에서 제공하는 DB Backup/Restore에 대한 내용이다. 물론 PGAdmin과 같은 GUI 기반의 Client Tool을 사용해서 손쉽게 Backup/Restore를 할 수 있지만, 필자가 업무상 PostgreSQL을 다루는 환경은 Linux Terminal인 경우가 많아 shell을 기반으로 할 때 Backup/Restore를 어떻게 하는 지에 대해 정리하였다.Backup PostgreSQL에서는 DB Backup을 위해 pg_dump와 pg_dumpall 프로그램을 제공한다. dg_dump는 단일 Database를 요청한 Format으로 Bakup을 만들고, pg_dumpall는 전체 Database Cluster를 SQL script로 Backup 한다..
PostgreSQL Log 설정 - 1 PostgreSQL 공식 문서에서 Log에 대한 부분은 설명이 잘 되어 있다. 다만 설정해야 하는 property들이 너무 많고 몇몇 Property 들은 서로 연관이 되어 있기 때문에 어떻게 설정해야 되는 지 조금은 어렵게 느껴졌다. 이번 포스팅에서는 이 부분에 대해 개인적인 지식들을 정리하고자 한다. 여기서는 필자가 사용하는 버전 9.6을 기준으로 설명하고 있지만 버전 별로 약간의 차이만 있으니 참고할 수 있을 것이다. 그리고 공식 문서에서도 설명이 잘된 편이니 아래 Reference를 잊지 않는 것을 권장한다. 영문 Manual 한글 ManualLog에 대한 기본 설정은 대부분 postgre.conf 의 ERROR REPORTING AND LOGGING section에서 이루어 지며, 이 secti..