Category: PostgreSQL

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,...

PostgreSQL 온라인 백업 스크립트

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

Docker를 이용해 PostgreSQL 설치

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

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 (...

PostgreSQL 시간 조회

  현재 시간 조회  postgres=# select now(); 현재 타임존 조회 postgres=# show timezone; 타임존 변경 방법  postgres=# SET TIME ZONE ‘Asia/Seoul’; 시스템 일자 postgres=# select current_date, current_time, timeofday();  postgres=# select now(), current_timestamp, timestamp ‘now’; 년도...

Docker를 이용해 PostgreSQL 설치

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

PostgreSQL 커널 리소스 관리

공유 메모리 및 세마포어 공유 메모리 및 세마포어는 통칭 “System V IPC”라고 합니다. 윈도우 외에, PostgreSQL이 이러한 기능에 대한 자체적인 구현을 제공하는 경우 PostgreSQL을 실행하기 위해 이러한 기능이 요구됩니다. PostgreSQL은 서버 사본별로 System V 공유...

PostgreSQL 권한 부여 및 해제

Grant & Revoke Grant – user,group 혹은 모든 user들에게 해당 객체에 대한 사용권한을 승인합니다. Synopsis : GRANT privilege [,…] ON object [,…] TO { PUBLIC | GROUP group | username} privilege SELECT : 특정 TABLE/VIEW...

PostgreSQL 유저 생성

유저 생성 DATABASE에서 USER는 DATABASE를 사용하는 주체로서 OS를 운영하는 USER와는 분리되어 있습니다. USER는 소유하고 있는 DATABASE안에 있는 OBJECT의 권한을 변경하고 제어할 수 있습니다. 유저를 생성하기 위해서는 먼저 DATABASE에서 SUPERUSER권한을 가지고 있어야 합니다. PostgreSQL에 SUPERUSER의 default...

PostgreSQL 스키마

SCHEMA 생성 SCHEMA는 Object들의 논리적 집합체 입니다. TABLE, VIEW, SEQUENCE, SYNONYM, DOMIAN, FUNCTION 등으로 구성되어 있습니다. SCHEMA를 사용하는 이유는 논리적 집합체를 만들어서 관리의 편의성을 높이고, 여러 USER들 간의 간섭 없이 접속 할 수 있게 합니다....

PostgreSQL Tablespace 생성

Tablespace 데이터베이스에서 Tablespace는 오라클과 PostgreSQL에서만 존재하는 개념입니다. 테이블스페이스가 존재 함으로 각 schema의 오브젝트 관리가 용이해지며, 데이터파일 관리 및 용량 관리에 있어서, 또는 성능 관리에 있어서 효과적인 관리가 가능해 집니다.   테이블 스페이스 확인 postgres=# select...