오경석의 개발노트

PostgreSQL_개념 및 장점 본문

프로그래밍 언어/PostgreSQL

PostgreSQL_개념 및 장점

OHSAYU 2022. 8. 8. 15:13

PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나.

    BSD 허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다. 소규모의 단일 머신 애플리케이션에서부터 수많은 동시 접속 사용자가 있는 대형의 인터넷 애플리케이션(또는 데이터 웨어하우스용)에 이르기까지 여러 부하를 관리할 수 있으며 macOS 서버의 경우 PostgreSQL이 기본 데이터베이스다. 마이크로소프트 윈도우, 리눅스용으로도 이용 가능하다.

    전 세계 사용률은 Oracle DB, MySQL, Microsoft SQL에 이어 4위인데, 꾸준히 상승하고 있는 것이 특징이다. MySQL에 비해서 SQL 표준을 더 잘 지원하고 기능이 더 강력하며 쿼리가 복잡해질수록 성능이 더 잘나오는 편이다. 여러 DBMS 중에서도 특히 개발자들이 선호하는 편인데 특히 PostGIS를 통한 Geospatial query는 오라클을 훨씬 능가하는 강력함을 자랑한다. 대신 기본적인 CRUD 성능이 MySQL 등 경쟁 DB에 비해 좋지 않은 편이다.

    PostgreSQL은 국내 레퍼런스가 많지 않은편이라 거의 해외사이트에서 참고한다. PostgreSQL은 Enterprise급 DBMS의 기능과 차세대 DBMS에서나 볼 수 있을 법한 기능들을 제공한다. 다른 관계형 데이터베이스 시스템과 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써 마치 새로운 하나의 프로그래밍 언어처럼 무한한 기능을 손쉽게 구현할 수 있다. 실제 기능적인 면에서 Oracle과 유사한 것이 많아 Oracle 사용자들이 가장 쉽게 적응할 수 있는 오픈소스 DBMS가 PostgreSQL이라는 세간의 평 또한 많다.

    발음은 포스트-그레스-큐엘 [Post-Gres-Q-L]이라고 발음하고 일부 프로그래머들 사이에는 "포스트그리 에스큐엘"이라고 불린다. 프로젝트 공식적인 명칭은 "post-Ingres"데이터베이스이다. 'PGsql' 또는 'PG'라고 표기할 수 있다.

 

장점

유연한 객체 생성

 - 다른 관계형 데이터베이스 시스템과 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 SQL 차원에서 제공한다.

 

상속

 - java 또는 C++ 프로그래밍 언어와 같이 테이블을 만들어 그 테이블 상속 기능을 이용해 하위 테이블을 만들 수 있다.

테이블에 저장된 자료는 상위 테이블을 조회하면, 해당 테이블의 하위 테이블에 포함된 모든 자료를 조회할 수 있으며, 하위 테이블을 만들 때, 상위 테이블의 칼럼을 그대로 상속받으면서, 하위 테이블에만 속하는 칼럼을 추가로 만들 수 있다.

 

함수

 - 때때로 '저장 프로시저'라고 불리는 SQL문으로 작성된 함수를 서버 환경에서 사용할 수 있다. 비록 다른 언어와는 달리 제어문과 반복문을 사용하지는 못하지만, 다른 언어와 결합시킬 수 있다. 일부 언어에서는 심지어 트리거 내부에서 실행시킬 수 있다. 이러한 언어의 예는 다음과 같다.

  • PL/pgSQL (오라클의 PL/SQL과 유사)
  • 스크립트 언어를 통한 지원 (예. PL/Python, PL/php, PL/Perl)
  • 컴파일 언어를 통한 지원 (예. C/C++, PL/Java)
  • 통계적 언어를 통한 지원 (예. PL/R)

PostgreSQL은 테이블에 대한 질의 결과를 반환하기 위한 '행 반환 함수'를 지원한다.

실행 권한은 함수 작성자 및, 실행자 모두에게 있다.

 

 

출처 : https://d2.naver.com/helloworld/227936

출처 : https://namu.wiki/w/PostgreSQL

출처 : https://www.postgresql.kr/

출처 : https://codecamp.tistory.com/2

 

PostgreSQL을 선택한 이유

PostgreSQL을 접한지 5년이 되었다. 필자는 DBA는 아니지만 개발자로서 Oracle, MSsql, MySql, Sybase 등의 DB를 사용해 보았고 다른 데이터베이스를 사용하는것에 대한 두려움은 없었다. 하지만 PostgreSQL은

codecamp.tistory.com

출처 : https://ko.wikipedia.org/wiki/PostgreSQL

 

PostgreSQL - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나이다. BSD 허가권으로 배포되며 오픈소스 개발자 및 관련

ko.wikipedia.org

출처 : https://mangkyu.tistory.com/71

 

[PostgreSQL] PostgreSQL이란?

이번에는 오픈소스 객체-관계형 데이터베이스 시스템인 PostgreSQL에 대해서 알아보도록 하겠습니다. 1. PostgreSQL이란? [ PostgreSQL이란? ] PostgreSQL은 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)

mangkyu.tistory.com

'프로그래밍 언어 > PostgreSQL' 카테고리의 다른 글

PostgreSQL_윈도우 설치  (0) 2022.10.07
PostgreSQL_구성과 기능  (0) 2022.08.08
Comments