문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 PostgreSQL (문단 편집) == 소개 == The PostgreSQL Global Development Group에서 개발하는 [[오픈 소스]] [[DBMS|ORDBMS]]. 1996년에 첫 출시되었다. 처음에는 [[BSD 라이선스]]였으나 언제부터인가 [[MIT 허가서|MIT 라이선스]] 비스무리한 독자적 라이선스[* PostgreSQL License [[http://www.postgresql.org/about/licence/]]]를 따르기 시작했다. 발음은 '포스트그레스큐엘'이라고 한다.[* Post+Gres+Q+L로 끊는 식이다. 여담으로 PostgreSQL과 형제 소리를 듣는 SQL DBMS인 [[MySQL]]은 정해진 공식 발음법이 마이스큐엘이 아니고 '마이에스큐엘'이다. 미묘하게 'SQL'을 읽는 방식이 다르다.] 전 세계 사용률은 상위 3개의 DB(Oracle DB, MySQL, Microsoft SQL)에 이어 4위인데, 꾸준히 상승하고 있는 것이 특징이다. 비교적 사용률이 높은 국가는 [[북미]]와 [[일본]]. 북미에서는 [[MySQL]]과 반대로 꾸준히 구인률이 증가하고 있으며, 일본에서는 관공서에서 사용할 경우 상용은 [[오라클 데이터베이스]], 무료는 PostgreSQL를 사용한다는 말이 있다. MySQL에 비해서 [[SQL]] 표준을 더 잘 지원하고 기능이 더 강력하며[* --예를 들면 MySQL에는 CTE나 Check constraint 등이 없다.-- CTE는 각각 [[MariaDB]] 10.2, [[MySQL]] 8에서 구현되었으며 Check constranints는 [[MariaDB]] 10.2에서 구현되었다. [[MySQL]]은 현재까지도 Check constraints가 없다.] 쿼리가 복잡해질수록 성능이 더 잘 나오는 편이다.[* Genetic query optimizer라고 불리는, [[유전 알고리즘]]을 통한 쿼리 최적화 기술이 구현되어 있다. [[http://posulliv.github.io/2012/06/29/mysql-postgres-bench/|MySQL과의 성능 비교]]] 특히 PostGIS를 통한 Geospatial query(위치기반 쿼리)는 오라클마저 씹어삼키는 강력함을 자랑하며, Citus 익스텐션을 이용하면 그동안 약점으로 지적돼왔던 병렬 인덱싱도 손쉽게 처리 가능하다. 여러 DBMS 중에서도 특히 개발자들이 선호하는 편이며 충성도가 높은 편이고 여러 나라에서 개최되는 컨퍼런스나 세미나도 꾸준한 편이다. 대신 기본적인 CRUD 성능이 MySQL 등 경쟁 DB에 비해 좋지 않은 편이라고 여겨진다. 하지만 이는 상대적인 것으로, 엔진의 아키텍처적인 특성이 반영된 결과라고 볼 수 있다. 일반적으로 조회성 트랜잭션에서는 파일베이스 아키텍처의 IO 한계로 인해 타 DBMS에 비해 우수한 성능을 내기 어렵다. 하지만 충분한 메모리가 제공되는 환경에서는 큰 차이를 보이지 않으며, 삽입성 트랜잭션에서는 오라클을 상회하는 엄청난 속도를 보여준다. 다만, PostgreSQL은 아직까지(15버전 기준) 공유볼륨을 지원하고 있지 않기 때문에 수평확장에서 1:1의 추가적인 스터리지 볼륨을 요구한다. 이러한 관계로 수평확장에서는 오라클이나 MySQL등에 비해 약점으로 꼽히는 부분이다. [[우버]]에서는 PostgreSQL을 메인으로 쓰다가 scalability 문제를 극복하지 못하고 MySQL로 전환하기도 했다.[* 하지만 MySQL의 스토리지 엔진만 사용하고 있기 때문에 사실상 MySQL을 [[NoSQL]]처럼 이용 중.] 최근 [[Apple|애플]]은 MySQL이 오라클에 넘어가면서 향후 일어날지도 모를 저작권 분쟁을 방지하기 위해 [[OS X]] Lion Server 버전에서는 MySQL을 퇴출시키고 PostgreSQL를 도입하였다. 사실 MySQL과 PostgreSQL은 성능이나 제공하는 기능에 약간의 차이가 있을 뿐 문법이나 구현상으로는 큰 차이가 없다. 따라서 양 DB간 Migration도 상단에 언급한 check constrants 정도를 제외하면 쉬운 편이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기