https://www.postgresql.org/docs/17/history.html
2. A Brief History of PostgreSQL
2. A Brief History of PostgreSQL # 2.1. The Berkeley POSTGRES Project 2.2. Postgres95 2.3. PostgreSQL The object-relational database management system …
www.postgresql.org
2. PostgreSQL의 간략한 역사
2.1. 버클리 POSTGRES 프로젝트
2.2. 포스트그레스95
2.3. 포스트그레스큐엘
현재 PostgreSQL로 알려진 객체 관계형 데이터베이스 관리 시스템은 버클리 캘리포니아 대학교에서 작성된 POSTGRES 패키지에서 파생되었습니다. 수십 년에 걸친 개발 끝에 현재 가장 진보된 오픈 소스 데이터베이스가 된 PostgreSQL은 어디에서나 사용할 수 있습니다.
2.1 버클리 POSTGRES 프로젝트
마이클 스톤브레이커 교수가 주도한 POSTGRES 프로젝트는 방위고등연구계획국(DARPA), 육군 연구실(ARO), 국립과학재단(NSF), ESL, Inc. POSTGRES의 구현은 1986년에 시작되었습니다. 시스템의 초기 개념은 [ston86]에 제시되었고, 초기 데이터 모델의 정의는 [rowe87]에 나타났습니다. 그 당시 규칙 시스템의 설계는 [ston87a]에 설명되어 있습니다. 스토리지 관리자의 이론적 근거와 아키텍처는 [ston87b]에 자세히 설명되어 있습니다.
POSTGRES는 그 이후로 여러 차례 주요 릴리스를 거쳤습니다. 최초의 "데모웨어" 시스템은 1987년에 작동을 시작했고 1988년 ACM-SIGMOD 컨퍼런스에서 선보였습니다. [ston90a]에 설명된 버전 1은 1989년 6월에 소수의 외부 사용자에게 릴리스되었습니다. 첫 번째 규칙 시스템([ston89])에 대한 비판에 대응하여 규칙 시스템이 재설계되었고([ston90b]), 1990년 6월에 새로운 규칙 시스템과 함께 버전 2가 출시되었습니다. 버전 3은 1991년에 등장했으며 다중 스토리지 관리자, 개선된 쿼리 실행기, 재작성된 규칙 시스템에 대한 지원이 추가되었습니다. Postgres95(아래 참조)까지의 후속 릴리스는 대부분 이식성과 안정성에 초점을 두었습니다.
POSTGRES는 다양한 연구 및 생산 애플리케이션을 구현하는 데 사용되었습니다. 여기에는 금융 데이터 분석 시스템, 제트 엔진 성능 모니터링 패키지, 소행성 추적 데이터베이스, 의료 정보 데이터베이스, 여러 지리 정보 시스템 등이 포함됩니다. 또한 POSTGRES는 여러 대학에서 교육 도구로 사용되었습니다. 마지막으로, Illustra Information Technologies(나중에 Informix에 합병되어 현재는 IBM 소유)가 POSTGRES의 코드를 인수하여 상용화했습니다. 1992년 말, POSTGRES는 [ston92]에 설명된 Sequoia 2000 과학 컴퓨팅 프로젝트의 주요 데이터 관리자가 되었습니다.
1993년 동안 외부 사용자 커뮤니티의 규모는 거의 두 배로 증가했습니다. 프로토타입 코드의 유지 관리와 지원에 데이터베이스 연구에 할애해야 할 많은 시간이 소요되고 있다는 사실이 점점 더 분명해졌습니다. 이러한 지원 부담을 줄이기 위해 버클리 POSTGRES 프로젝트는 버전 4.2를 끝으로 공식적으로 종료되었습니다.
2.2. Postgres95
1994년 앤드류 유와 졸리 첸은 POSTGRES에 SQL 언어 인터프리터를 추가했습니다. 이후 새로운 이름인 Postgres95가 웹에 공개되어 오리지널 POSTGRES 버클리 코드의 오픈 소스 후손으로서 독자적인 길을 찾게 되었습니다.
Postgres95 코드는 완전히 ANSI C로 바뀌었고 크기가 25% 감소했습니다. 많은 내부 변경으로 성능과 유지보수성이 향상되었습니다. Postgres95 릴리스 1.0.x는 Wisconsin 벤치마크에서 POSTGRES 버전 4.2에 비해 약 30~50% 더 빠르게 실행되었습니다. 버그 수정 외에도 다음과 같은 주요 개선 사항이 있습니다.
- 쿼리 언어 PostQUEL이 SQL(서버에 구현됨)로 대체되었습니다. (인터페이스 라이브러리 libpq는 PostQUEL의 이름을 따서 명명되었습니다.) 하위 쿼리는 PostgreSQL (아래 참조)까지는 지원되지 않았지만 사용자 정의 SQL 함수를 사용하여 Postgres95에서 하위 쿼리를 구현할 수 있었습니다. 집계 함수가 다시 구현되었고, GROUP BY 쿼리 절에 대한 지원도 추가되었습니다.
- 대화형 SQL 쿼리를 위한 새로운 프로그램(psql)이 제공되었는데, 이 프로그램은 GNU Readline을 사용했습니다. 이 프로그램은 이전 모니터 프로그램을 대체했습니다.
- 새로운 프런트엔드 라이브러리인 libpgtcl이 Tcl 기반 클라이언트를 지원했습니다. 샘플 셸인 pgtclsh는 Tcl 프로그램을 Postgres95 서버와 인터페이스 하기 위한 새로운 Tcl 명령을 제공했습니다.
- 대용량 객체 인터페이스가 개편되었습니다. 역방향 대용량 객체는 대용량 객체를 저장하는 유일한 메커니즘이었습니다. (역방향 파일 시스템은 제거되었습니다.)
- 인스턴스 수준 규칙 시스템이 제거되었습니다. 규칙은 여전히 재작성 규칙으로 사용할 수 있습니다.
- 일반 SQL 기능과 Postgres95의 기능을 소개하는 간단한 튜토리얼이 소스 코드와 함께 배포되었습니다.
- 빌드에는 BSD make 대신 GNU make가 사용되었습니다. 또한, Postgres95는 패치되지 않은 GCC로 컴파일할 수 있었습니다. (double 데이터 정렬이 수정됨)
2.3 PostgreSQL
1996년에 이르러 "Postgres95"라는 이름이 더 이상 유효하지 않다는 것이 분명해졌습니다. 그래서 원래는 POSTGRES와 SQL 기능을 갖춘 최신 버전 간의 관계를 반영하기 위해 새로운 이름인 PostgreSQL을 선택했습니다. 동시에 버전 번호는 6.0부터 시작하도록 설정하여 원래 버클리 POSTGRES 프로젝트에서 시작된 순서대로 번호를 다시 매겼습니다.
전통적으로 Postgres는 여전히 공식 프로젝트 이름으로 간주되고 있으며, 이는 사람들이 PostgreSQL보다 Postgres를 발음하기가 더 쉽기 때문입니다.
Postgres95를 개발하는 동안 중점을 둔 것은 서버 코드의 기존 문제를 파악하고 이해하는 것이었습니다. 모든 영역에서 작업이 계속되고 있지만, PostgreSQL에서는 기능과 성능을 보강하는 데 중점을 두었습니다.
그 이후 PostgreSQL에서 어떤 일이 일어났는지에 대한 자세한 내용은 부록 E에서 확인할 수 있습니다.
'🐘 PostgreSQL > Document[번역]' 카테고리의 다른 글
[PostgreSQL 17.5 번역] 4. 추가 정보 (0) | 2025.05.14 |
---|---|
[PostgreSQL 17.5 번역] 3. PostgreSQL의 규칙 (0) | 2025.05.13 |
[PostgreSQL 17.5 번역] 1. postgreSQL이란 무엇인가요? (0) | 2025.05.09 |