5. 20년 전통의 역사
PostgreSQL 이름이 등장한 지 20년
1986년 POSTGRES 프로젝트가 시작점
배포절차가 전형적인 BSD SW임 - 커미터, 컨
트리뷰터, 커밋페스트
9.0 스트리밍 리플리케이션의 구현 과정, 9.1
fdw 랩퍼 정착 과정, 9.3 백그라운드 워커
7. 오픈소스SW 도입, 비용절감
벤더 기반 상용 데이터베이스의 SW 구매비용
과 유지 비용 vs 커뮤니티 기반 공짜 데이터베
이스 도입 또는 전환과 유지 비용 문제
개발자, 운영자 수급 문제 (머니. 머니? 머니!)
하드웨어 스케일업 비용 - 백업 저장소, 메모
리, 트랜잭션 로그 보관을 위한 빠른 저장소
13. 오류문
postgres=# select '케잌';
ERROR: invalid byte sequence for encoding "EUC_KR":
0x9f 0xe5
postgres=# select cast('2016-06-31' as date);
ERROR: date/time field value out of range: "2016-06-31"
postgres=# select 1/0;
ERROR: division by zero
postgres=# select * from t limit 0,10;
ERROR: LIMIT #,# syntax is not supported
25. 헷갈리는 해석
"너무 크면 성능이 떨어지고, 너무 적어도 성능이
떨어진다" - redo log size
"너무 잦으면 낭비고, 너무 드물면 비용이 커진다" -
autovacuum 설정값들
"똑똑하다던 최적화기는 통계 정보가 없어 바보가
되고" - auto analyzer의 지능적인 수행
"공짠데 개발자는 낯선 DB니 돈 많이 달라 하고"
31. 우버는 왜 MySQL을
PostgreSQL의 다중키 인덱스 사용시 Heap
Only Tuple 업데이트 문제 제기
- key-value 모델링으로 갈거면, HOT 쓸 수
있는데다, value가 json이면, jsonb gist 인덱
스도 쓸 수 있었을 텐데
쿼리 기반 복제 - 논리 디코딩 기능
메이져 버전 업그레이드 문제 - 진보의 숙명