| 1 | [[파일:postgresql-logo.png]] |
|---|
| 2 | [[http://www.postgresql.org/|공식 홈페이지]] |
|---|
| 1 | 3 | |
|---|
| 4 | [목차] |
|---|
| 5 | == 소개 == |
|---|
| 6 | The PostgreSQL Global Development Group에서 개발하는 [[오픈 소스]] [[DBMS|RDBMS]]. 1996년에 첫 출시되었다. 처음에는 [[BSD 라이선스]]였으나 언제부터인가 [[MIT 허가서|MIT 라이선스]] 비스무리한 독자적 라이선스[* PostgreSQL License [[http://www.postgresql.org/about/licence/]]]를 따르기 시작했다. 발음은 '포스트그레스큐엘'이라고 한다.[* Post+Gres+Q+L로 끊는 식이다.] |
|---|
| 7 | |
|---|
| 8 | 전 세계 사용률은 상위 3개의 DB(Oracle DB, MySQL, Microsoft SQL)에 이어 4위인데, 꾸준히 상승하고 있는 것이 특징이다. 비교적 사용률이 높은 국가는 [[북미]]와 [[일본]]. 북미에서는 [[MySQL]]과 반대로 꾸준히 구인률이 증가하고 있으며, 일본에서는 관공서에서 사용할 경우 상용은 [[오라클 데이터베이스]], 무료는 PostgreSQL를 사용한다는 말이 있다. 특히 일본의 기성 세대 엔지니어들은 초기부터 PostgreSQL를 사용해오고 있으며 젊은 층 개발자들 역시 2009년에 [[썬 마이크로시스템즈]]를 [[오라클(기업)|오라클]]이 인수하면서 MySQL 소유권에 대한 이슈 때문에 PostgreSQL을 주로 사용한다. |
|---|
| 9 | |
|---|
| 10 | 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 익스텐션을 이용하면 그동안 약점으로 지적돼왔던 병렬 인덱싱도 손쉽게 처리 가능하다. |
|---|
| 11 | |
|---|
| 12 | 여러 DBMS 중에서도 특히 개발자들이 선호하는 편이며 충성도가 높은 편이고 여러 나라에서 개최되는 컨퍼런스나 세미나도 꾸준한 편이다. |
|---|
| 13 | |
|---|
| 14 | 대신 기본적인 CRUD 성능이 MySQL 등 경쟁 DB에 비해 좋지 않은 편이다. [[우버]]가 PostgreSQL을 메인으로 쓰다가 떨어지는 성능으로 인한 scalability 문제를 극복하지 못하고 MySQL로 전환하기도 했다. |
|---|
| 15 | |
|---|
| 16 | 최근 [[Apple|애플]]은 MySQL이 오라클에 넘어가면서 향후 일어날지도 모를 저작권 분쟁을 방지하기 위해 [[OS X]] Lion Server 버전에서는 MySQL을 퇴출시키고 PostgreSQL를 도입하였다. 양 DB간 Migration도 쉬운 편이다. |
|---|
| 17 | |
|---|
| 18 | == 현재 사용자들 == |
|---|
| 19 | * Yahoo!: 유저 사용형태 분석에 관한 자료를 저장하는 데 쓰이고 있다. 물론, 다루는 용량이 엄청나게 큰지라(2 페타바이트 정도라 한다) 많이 고쳐서 사용하고 있다고 하는 중. |
|---|
| 20 | * MySpace: 데이터 저장에 쓰이고 있다. Yahoo!처럼 마개조해서 사용하고 있지는 않다. |
|---|
| 21 | * OpenStreetMap |
|---|
| 22 | * Afilias: .org나 .info 도메인 저장에 쓰인다. |
|---|
| 23 | * Sony Online: 멀티플레이 게임용 [[데이터베이스]]로 쓰인다. |
|---|
| 24 | * BASF: 웹 쇼핑 [[데이터베이스]] 관리용으로 사용된다. |
|---|
| 25 | * hi5.com |
|---|
| 26 | * reddit.com |
|---|
| 27 | * Skype: 중앙 [[데이터베이스]]로 사용된다. |
|---|
| 28 | * Sun xVM |
|---|
| 29 | * MusicBrainz: 온라인 음악 백과사전 데이터 수록용으로 쓰인다. |
|---|
| 30 | * [[ISS|International Space Station]]: 그 우주 정거장 맞다. 천체 관측 자료를 저장하여 지상에서 분석할 때 사용한다. |
|---|
| 31 | * MyYearbook |
|---|
| 32 | * Heroku: 클라우드 서비스용 [[데이터베이스]]로 사용된다. 의외로 일본 회사가 아니다. |
|---|
| 33 | * ZOHO ManageEngine: OpManager, SDP 등의 MySQL을 신버전부터 PostgreSQL로 변경. |
|---|
| 34 | * [[KT]]: 공개SW 도입을 위한 시범 사업 추진 건으로 CentOS, JBoss EAP 등과 함께 도입되었다. |
|---|
| 35 | * Unity Asset Server : [[유니티(게임 엔진)|유니티 엔진]]의 에셋 [[버전 관리 시스템]]의 [[데이터베이스]]에 사용한다. |
|---|
| 36 | * [[인스타그램]] [[http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram|참고]] |
|---|
| 37 | * [[끄투]]의 데이터베이스로도 사용된다. |
|---|
| 38 | |
|---|
| 39 | 이렇듯이 일본 외에도 생각보다 많은 사용자를 가지고 있다. |
|---|
| 40 | |
|---|
| 41 | == 기타 == |
|---|
| 42 | 터미널 창에 'psql'을 입력하면 기본 슈퍼유저인 postgres로 접속하는 게 아니라 현재 로그인되어 있는 운영체제의 계정으로 접속을 시도하여 에러 메시지를 띄운다. 이 에러가 보기 싫다면 직접 postgres로 접속한 후 해당 계정명과 일치하는 데이터베이스 및 유저를 생성해 주면 된다. |
|---|
| 43 | |
|---|
| 44 | PostgreSQL 기반으로 GraphQL 엔드포인트를 만들수 있는 [[https://hasura.io/|hasura]]라는 기술이 등장했다. 서버 엔드포인트를 순식간에 만들 수 있다. |
|---|
| 45 | |
|---|
| 46 | [[분류:데이터베이스]][[분류:SQL]] |
|---|