토픽을 선택하세요
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
공지사항
자유게시판
구인|구직
운영게시판
UserID
Passwd
텔레그램 로그인
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL News 9333 게시물 읽기
News
|
Q&A
|
Columns
|
Tutorials
|
Devel
|
Files
|
Links
No. 9333
PostgreSQL 9.3 릴리즈 노트
작성자
김상기(ioseph)
작성일
2013-09-03 13:46ⓒ
2013-09-09 17:48ⓜ
조회수
7,588
1. 개요
2. v9.3 마이그레이션 안내
2.1. 서버 설정
2.2. 기타
3. 바뀐 것들
3.1. 서버
3.2. 리플리케이션과 복구
3.3. 쿼리
3.4. 객체 다루기
3.5. 자료형
3.6. 함수
3.7. 서버 내장 프로시져 언어
3.8. 클라이언트 응용 프로그램
3.9. 소스 코드
3.10. 부가 확장 모듈
3.11. 문서
1. 개요
materialized view 지원
단일 테이블을 사용하는 뷰는 자료 조작 쿼리가 가능해 짐
JSON 자료형 조작에 대한 기능이 대폭 확대
서브쿼리를 사용하는 FROM절이나, 함수를 호출할 때 표준 SQL 구문인 LATERAL 옵션을 사용할 수 있음
외부 테이블의 자료 조작 작업을 위한 외부 자료 랩퍼 기능 확대
contrib에서 Postgres foreign data wrapper 모듈 제공
이벤트 트리거 도입 (create table, role 같은 작업에 대해서 트리거를 사용할 수 있음)
데이터 파일 체크섬 기능 추가 (개발자, 버그 추적용)
스트리밍 리플리케이션 기능에서 대기서버가 변경된 타임라인에 따라 계속 대기 할 수 있으며, 운영 서버 전환이 빨라짐
공유 메모리 사용에 대해 더이상 커널 환경 설정 매개변수에 의존적이지 않음
참조키 잠금 현상에서 관계없는 자료들에 대한 변경 시 잠금 현상 없음
2. v9.3 마이그레이션 안내
2.1. 서버 설정
replication_timeout 매개변수 이름이 wal_sender_timeout 으로 바뀜
commit_delay 설정이 다른 세션 프로세스와 관계된 작업으로 변경 됨에 따라 슈퍼유저만 바꿀 수 있게 바뀜
정렬 작업에서 사용할 수 있는 메모리 전체를 사용함 (테스트 필요)
2.2. 기타
만료된 튜플에 대한 update, delete 구문 적용 시 오류 냄
(실무 환경에서는 일어나지 않을 것 같음, 테스트 필요)
ON UPDATE SET NULL/SET DEFAULT 구문 기능 변경
(옛 버전과 비교 필요)
pg_constraint.confmatchtype 초기값이 "
"에서 "simple"로 바뀜
(이 카탈로그를 사용하는 쿼리 변경 필요)
WAL 쪼가리 파일이 F0에서 FF로 끝나서 이름 바뀜
(아카이브 쪽 파일 처리하는 작업 확인 필요)
to_char()에서 사용하는 D, FM 관련 소수점 처리가 특정 로케일 환경에서 오동작 하던 것 수정 됨
(한국어 기반 - LC_CTYPE, LC_COLLATE 값이 C 환경에서는 변경 사항 없음, ko_KR.UTF-8 환경에서 테스트 필요)
레코드 리턴 함수를 STRICT 스칼라 리턴 함수로 사용할 경우, 그 값이 null 인 경우 아무것도 리턴하지 않음
(옛 버전에서는 null 값을 가진 로우를 리턴함 - 확인 필요)
3. 바뀐 것들
3.1. 서버
잠금
참조키 관련 잠금 현상 개선
lock_timeout 환경 변수 새로 추가
세션별 lock 캐시 사용
인덱스
range 자료형에 대해서도 SP-GiST 지원
GiST 인덱스에 대해서도 unloged 기능 제공
hash 인덱스 동시성 개선
최적화기
range 자료형에 대한 통계정보 사용
불필요한 cheaper 시작 비용 줄임
인덱스 사용에 따른 잠정 비용 계산 개선
일반 성능관련
COPY FREEZE 구문 추가 - 대량 자료 등록 성능 개선
NUMERIC 자료형 연산 성능 개선
commit_delay 작동 방식 변경
트랜잭션 처리 기능 개선 - lock 캐시 사용
CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS 성능 개선
pg_stat_tmp 통계 정보 임시 파일이 전역과 각 데이터베이스 별로 분리
모니터링
데이터파일 손상을 모니터링 하는 체크섬 기능 추가 - 성능과 안정성 테스트 필요
initdb 에서만 설정 가능
pg_terminate_backend() 함수를 자기와 같은 권한을 가진 사용자끼리 사용할 수 있게 변경
통계 수집기가 시스템 시간에 관계 없이 작동 하도록 변경
옛 버전은 시스템 시간이 DB 시간보다 늦으면 작동하지 않았음
인증
LDAP 관련 문서와 오류 출력 개선
LDAP 인증에서 URL 양식 지원
보다 엄격해진 SSL 인증
pg_ident.conf 파일도 pg_hab.conf 처럼 처리 (reload 해야 변경 사항 적용)
서버 설정
커널 환경 설정 없이 공유 메모리 사용
unix_socket_directory 설정이 unix_socket_directories 로 바뀌면서 여러 유닉스 소켓을 동시에 사용할 수 있게 함
include_dir 추가로 서버 실행 환경 변수 설정 파일을 여러 개 설정 할 수 있도록 함
initdb 명령 기본 shared_buffers 값을 128MB로 변경
postmaster가 종료시 external_pid_file 로 설정된 파일 삭제
3.2. 리플리케이션과 복구
운영 서버 타임라인이 변경 되어도 그대로 대기 서버에서 스트리밍 리플리케에션을 계속 할 수 있음
pg_is_in_backup() 함수와 pg_backup_start_time() 함수 제공
로그 전달 스트리밍 리플리케이션에서 synchronous_commit 비활성화 됨 - 속도 개선
대기 서버가 운영 서버로 바뀌는 작업 속도 향상
pg_controldata 명령으로 마지막 체크포인트 리두 위치를 보여 줌
pg_receivexlog 명령을 이용해서 아키텍쳐가 다른 서버에 대해서도 스트리밍 리플리케이션이 가능해 짐
pg_basebackup --write-recovery-conf 명령으로 기본 recovery.conf 파일을 만들 수 있음 - 보다 쉽게 대기 서버를 구축할 수 있음.
pg_receivexlog, pg_basebackup 명령에서 --xlog-method 옵션을 이용한 라임라인 변경 가능
wal_receiver_timeout 환경 설정값 추가 - 서버가 동기화 장애 파악이 더 빨라짐
3.3. 쿼리
FROM-절에 LATERAL 옵션 사용 가능
(내용 추가 필요)
COPY 명령과 psql \copy 명령에서 외부 프로그램의 파이프를 사용할 수 있음.
3.4. 객체 다루기
이벤트 트리거 지원 - DDL 작업시 트리거를 사용할 수 있음
DML 작업이 가능한 외부 자료 덮개(foreign data wrapper) 구현 가능
postgres 덮개 추가
룰에서 OLD/NEW 참조자에 다중 VALUES를 사용할 수 있음
CREATE SCHEMA ... IF NOT EXISTS 구문 추가
REASSIGN OWNED 구문 추가 - 롤 변경 관련
CREATE TABLE
덩달아 만들어지는 인덱스, 시퀀스 메시지 이제 안 보임, 로그 수준을 DEBUG1 수준으로 바꿈
DROP TABLE IF EXISTS 구문에서 스키마 이름이 없어도 오류를 내지 않음.
제약조건
응용 프로그램 개발자를 위한 오류 처리에서 제약조건 관련 오류코드 추가 됨
오류 메시지 문자열 처리에서 오류 코드 처리로도 가능해짐
ALTER
ALTER TYPE ... ADD VALUE 구문에서 IF NOT EXISTS 옵션 추가
(나열형(enum) 자료형에 자료를 추가할 때 유용하게 쓸 수 있음)
ALTER ROLE ALL SET 구문 추가 - 모든 사용자에게 특정 설정을 할 경우 유용
ALTER RULE ... RENAME 구문 추가
VIEW
materialized view 지원
아직까지는 원본 테이블의 자료 변화에 따른 자동 뷰 갱신이나, 변경 분 자동 반영 기능은 없음
단일 테이블을 참조하는 뷰인 경우 자동으로 DML 작업이 가능해짐
뷰 생성 쿼리 보기 기능이 향상됨
CREATE RECURSIVE VIEW 구문 지원
3.5. 자료형
큰놈 large object 크기가 2GB 에서 4TB로 변경
지역시간대 time zone 이름으로 전체 이름 사용 가능, 예, "America/Chicago"
JSON 관련 조작 함수, 연산자 추가
3.6. 함수
array_remove(), array_replace() 추가
Allow concat() and format() to properly expand VARIADIC-labeled arguments
format() 좌우정렬 개선
to_char(), to_date(), to_timestamp() 관련 함수 개선
3.7. 서버 내장 프로시져 언어
(생략)
3.8. 클라이언트 응용 프로그램
pg_isready 명령 추가 (서버에 접속 가능한지 체크)
pg_restore, clusterdb, reindexdb, vacuumdb 명령에서 --table 옵션 값을 pg_dump 그것처럼 여러 테이블을 지정할 수 있음
pg_dumpall, pg_basebackup, pg_receivexlog 명령에서 --dbname 옵션 추가
libpq에 접속 정보를 리턴하는 PQconninfo() 함수 추가
psql
탭 자동완성 기능과 패턴 검색 기능 향상
표준 입력으로 읽을 때도 --single-transaction 옵션 사용할 수 있음
하위 버전 서버에 접속 할 때 보여줬던 경고 메시지 안 보임
역슬래시 명령어들
\watch 추가, 이전 쿼리 반복 실행
\gset
\conninfo
\df+ 에서 "Security" 칼럼 추가
\l 명령 인자 값으로 검색 패턴 사용 가능
\g file 작동 방식이 오류난 쿼리 건너 뛰고 실행
출력
latex-longtable 출력 가능, latex 출력양식에서 border=3 출력 모드 지원
자료만 출력하는 경우 "(No rows)" 출력 없음
In psql, no longer print an empty line for unaligned, expanded output for zero rows
(변화를 모르겠음)
pg_dump
--jobs 옵션 추가, 테이블 단위 다중 덤프
객체 의존성 관련 덤프 순서가 보다 정밀해 짐
pg_dump, pg_basebackup에서 tar 파일로 만들 경우, POSIX 호환
--dbname 옵션 추가
initdb
데이터 디렉토리를 만들고 fsync 함 --nosync 옵션으로 기능 끌 수 있음
--sync-only 옵션 추가, pg_upgrade 명령에서 사용됨
최상위 마운트 위치에서 데이터 디렉토리를 만들 때 경고 보임
3.9. 소스 코드
(생략)
3.10. 부가 확장 모듈
postgres 외부 자료 덮개 (DML 작업 가능)
pg_xlogdump
pg_trgm에서 정규식으로 검색 시 인덱스 사용 할 수 있음
pg_trgm 멀티바이트 문자들 지원 (이제 쓸 때가 되었다!)
pgstattuple 에서 GIN 인덱스에서 여유 공간을 살펴볼 수 있는 함수 추가
oid2name, pgbench, vacuumlo 에서 application_name 값 지정됨
pg_test_timing 출력 더 예쁘게
pg_test_fsync 출력 더 예쁘게
dblink에서 validator 선택사항 개선
3.11. 문서
(생략)
[
Top
]
No.
제목
작성자
작성일
조회
9383
PostgreSQL 9.3.2 Released
김상기
2013-12-07
4226
9361
PostgreSQL 9.3.1 Released
김상기
2013-10-11
4430
9336
PostgreSQL 9.3 Released
김상기
2013-09-10
4267
9333
PostgreSQL 9.3 릴리즈 노트
김상기
2013-09-03
7588
9261
PostgreSQL 9.2.4 Released (주요!)
[1]
김상기
2013-04-05
4938
9251
PostgreSQL 공식 설명서 번역 프로젝트 시작합니다.
[4]
김상기
2013-03-07
5196
9233
PostgreSQL 9.2.3 Released
김상기
2013-02-13
4293
All about the DATABASE...
Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초,