출시 날짜 :2022-10-13
PostgreSQL15는 다음을 포함하여 많은 새로운 기능과 향상을 포함합니다.
지원SQL 병합
명령.
테이블 내용의 선택적 출판 내에서논리 복제열 목록 및 행 필터 조건을 지정하는 기능을 통한 출판물.
Zstd (Zstd) 압축에 대한 지원을 포함하여 압축을위한 더 많은 옵션. 여기에는 서버 측에서 압축 수행에 대한 지원이 포함됩니다.pg_basebackup.
구조화 지원서버 로그 출력토토 캔JSON형식.
특히 메모리 및 온 디스크 분류에 대한 성능 향상.
위 항목 및 기타 새로운 기능PostgreSQL15는 아래 섹션에 자세히 설명되어 있습니다.
덤프/복원 토토 캔pg_dumpall또는 토토 캔pg_upgrade또는 이전 릴리스에서 데이터를 마이그레이션하려는 사람들에게는 논리 복제가 필요합니다. 보다PostgreSQL : 문서 : 15 : 19.6. PostgreSQL 클러스터 와이즈 토토새로운 주요 릴리스로 마이그레이션하는 일반 정보.
버전 15에는 이전 릴리스와의 호환성에 영향을 줄 수있는 여러 가지 변경 사항이 포함되어 있습니다. 다음과 비 호환성을 관찰하십시오.
제거public
창조 허가public
스키마(Noah Misch)§
새로운 기본값은 보안 스키마 토토 캔 패턴 중 하나입니다.섹션 5.9.6CVE-2018-1058의 보안 릴리스 이후 권장되었습니다. 변경은 새로운 토토 캔 클러스터와 기존 클러스터의 새로 만들어진 토토 캔에 적용됩니다.public
의 기존 권한.
기존 토토 캔, 특히 여러 토토 캔자가있는 사람의 경우 취소를 고려하십시오Create
public
이 새로운 기본값을 채택하는 스키마. 내부자 위협을 방어 할 필요가없는 새로운 토토 캔의 경우 부여Create
허가는 사전 릴리스의 동작을 산출합니다.
소유자 변경public
새로운 스키마pg_database_owner
역할 (Noah Misch)§
이것은 각 토토 캔 소유자의 소유권 권한을 가질 수 있도록합니다.public
토토 캔 내의 스키마. 이전에는 Bootstrap SuperUser가 소유하고 있으므로 SuperUser가 아닌 토토 캔 소유자가 아무것도 할 수 없었습니다..
이 변경은 새로운 토토 캔 클러스터와 기존 클러스터의 새로 만들어진 토토 캔에 적용됩니다. 클러스터 업그레이드 또는 토토 캔 덤프 복원은 보존public
의 기존 소유권 사양.
오랫동안 진행된 제거독점 백업 모드(David Steele, Nathan Bossart)§
이 모드에서 토토 캔 서버가 갑자기 중지되면 서버가 시작되지 않을 수 있습니다. 비 독점적 인 백업 모드는 모든 목적에서 우수한 것으로 간주됩니다.pg_start_backup ()
/pg_stop_backup ()
이름이 바뀌 었습니다pg_backup_start ()
/pg_backup_stop ()
및 기능pg_backup_start_time ()
andpg_is_in_backup ()
제거되었습니다.
증가hash_mem_multiplier
기본값으로 2.0 (Peter Geoghegan)§
Query Hash 작업이 더 많은 토토 캔을 허용합니다work_mem
다른 작업보다 메모리.
서버 측 언어 제거Plpython2u
및 제네릭 파이썬 언어Plpythonu
(Andres Freund)§
Python 2.x는 더 이상 지원되지 않습니다. 원래 의도Plpythonu
결국 참조 할 수 있다는 것이plpython3u
, 이제 변경하는 것보다 문제를 일으킬 가능성이 높아서 방금 제거되었습니다.
if 오류 생성array_to_tsvector ()
빈 스트링 어레이 요소 (Jean-Christophe Arnu) 전달됩니다.§
Lexemes는 결코 비어 있지 않아서 금지됩니다. 이전 Postgres 릴리스 토토 캔자는 덤프/복원 실패 및 일관성없는 결과를 초래할 수 있기 때문에 빈 렉서스가 저장되지 않았는지 확인해야합니다..
예방보기 생성 또는 교체
출력 열 (Tom Lane)의 충돌 변경에서§
제로 길이를 허용하지 않음유니 코드 식별자, 예 :u & ""
(Peter Eisentraut)§
비 유니 코드 제로 길이 식별자는 이미 허용되지 않았습니다.
예방숫자 리터럴숫자가 아닌 후행 캐릭터 (Peter Eisentraut)§
이전에, 쿼리 텍스트와 같은123abc
123
이어서 별도의 토큰ABC
.
조정JSON숫자와 일치하는 숫자 문자공 처리SQL/JSON-스탠드 (Peter Eisentraut)§
이것은 숫자와 같은 숫자 형식을 허용합니다.1
and1.
, 그리고 숫자 리터럴 후에 추적 쓰레기를 불러 일으 킵니다1.type ()
.
언제간격
입력은 몇 달 이상 큰 단위에 대한 분수 값을 제공하며 가장 가까운 달 (Bruce Momjian)§
예를 들어, 변환1.99 년
to2 년
, 아님1 년 11 개월
이전과 같이.
일관성 향상간격
후행 기간 (Tom Lane)과 구문 분석§
일부 플랫폼에서 후행 기간이있는 숫자가 거부되었습니다.
표시간격
출력 기능은 안정적으로 불변이 아닌 안정적으로 작동합니다.IntervalStyle
(Tom Lane)§
예를 들어 텍스트 출력에 의존하는 인덱스의 생성을 유발합니다간격
실패 할 값
정수 오버플로 감지간격 정당화 기능(Joe Koshakow)§
영향을받는 함수는입니다.Justify_Interval ()
, Justify_hours ()
및Justify_Days ()
.
타입의 I/O 형식 변경"char"
비 ASCII 문자 (Tom Lane)§
높은 비트 세트가있는 바이트는 이제 인코딩 문제를 피하기 위해 백 슬래시 및 3 개의 옥탈 자리로 출력됩니다.
기본값 제거관리자 옵션
권한 로그인 역할은 자체 역할 멤버십 (Robert Haas)에 있습니다.§
이전에 로그인 역할은 자신의 역할을 추가/제거 할 수 있습니다.관리자 옵션
특권.
허용논리 복제가입자 (Mark Dilger)의 소유자로 실행하려면§
로드 레벨 보안 정책이 확인되지 않기 때문에 슈퍼업자, 역할BYSPASSRLS
및 테이블 소유자는로드 레벨 보안 정책이있는 테이블로 복제 할 수 있습니다.
예방업토토 캔트
and삭제
논리 복제가입자가없는 테이블에서의 운영select
테이블의 허가 (Jeff Davis)§
업토토 캔트
and삭제
명령은 일반적으로 테이블을 읽는 것도 포함되므로 가입자에게 테이블이 있어야합니다select
허가.
언제설명
세션의 임시 객체 스키마를 참조하십시오.PG_TEMP
(Amul Sul)§
이전에 실제 스키마 이름이보고되어 세션에서 불일치가 발생했습니다.
수정pg_statio_all_tables
드문 경우의 합계 값토스트여러 인덱스가있는 테이블 (Andrei Zubkov)§
이전에 그러한 경우는 각 지수에 대해 하나의 행을 표시합니다.
허용 설정범퍼카 토토 : 문서설치된 확장자 이름과 일치하지만 확장자의 선언 된 변수 중 하나가 아닙니다 (Florin Irion, Tom Lane)§ § §
이 변경으로 인해 확장 하중 중에 그러한 기존 변수가 삭제 된 다음 세션 후반에 새로운 변수가 생성되는 것을 방지합니다. 의도는 변수가 확장과 관련이 있는지 여부에 대한 혼란을 방지하는 것입니다.
쓸모없는 서버 변수 제거stats_temp_directory
(Andres Freund, Kyotaro Horiguchi)§
계산에 토토 캔되는 알고리즘 향상random ()
(Fabien Coelho)§ §
이것은 원인이 될 것입니다random ()
의 결과는 동일한 종자 값에 대해서도 이전 버전에 의해 방출 된 것과 다릅니다.
libpq'spqsendquery ()
함수는 더 이상 파이프 라인 모드에서 지원되지 않습니다 (Álvaro Herrera)§
해당 조합을 토토 캔하는 응용 프로그램은 토토 캔하려면 수정해야합니다pqsendqueryparams ()
대신.
비 원도 플랫폼에서 상담홈
Environment 변수 토토 캔자의 홈 디렉토리 (Anders Kaseorg)§
if홈
| 비어 있거나 설정이없고, 이전 방법으로 돌아가
토토 캔. 이 변화는 영향을 미칩니다libpq(예 : 찾는 동안~/.pgpass
) 및 다양한 클라이언트 응용 프로그램 프로그램.
제거pg_dump's-no-synchronized-snapshots
옵션 (Tom Lane)§
여전히 지원되는 모든 서버 버전은 동기화 된 스냅 샷을 지원하므로 더 이상이 옵션이 필요하지 않습니다.
오류가 감지 된 후PSQL's--- 단일 전환
모드, 최종 변경커밋
명령 to롤백
만on_error_stop
is set (Michael Paquier)§
쿼리에서 상수의 불필요한 주조를 피하십시오PostgreSQL :(Dian Fay)§
열 유형이 로컬 토토 캔와 원격 토토 캔 간의 의도적으로 다른 경우, 이러한 캐스트는 오류를 유발할 수 있습니다.
제거XML2'sxml_is_well_formed ()
함수 (Tom Lane)§
이 기능은 Postgres 9.1. 이후 코어 백엔드에서 구현되었습니다.
허용맞춤형 스캔 제공자PROJECTIONS (SVEN KLEMM)를 지원하는지 표시합니다.§
기본값은 이제 토토 캔자 정의 스캔 제공 업체가 예측을 지원하지 않는 것으로 가정합니다. 이번 릴리스를 위해 업토토 캔트해야합니다.
아래에서의 변경 사항에 대한 자세한 설명이 있습니다.PostgreSQL15 및 이전 주요 릴리스.
각각의 Collation 버전을 기록하고 확인하십시오토토 캔(Peter Eisentraut)§
이 기능은 인덱스 손상을 피하기 위해 콜레이션 버전 변경을 감지하도록 설계되었습니다. 기능PG_DATABASE_COLLATION_ACTUAL_VERSION ()
기본 운영 체제 Collation 버전을보고하고토토 캔 변경 ... 새로 고침
운영 체제 Collation 버전과 일치하도록 녹화 된 토토 캔 콜레이션 버전을 설정합니다.
허용ICU클러스터 및 토토 캔 (Peter Eisentraut)의 기본값으로 설정 될 콜라이트§
이전, 만LIBC-기반 콜라이트는 클러스터 및 토토 캔 수준에서 선택할 수 있습니다.ICUCollations는 명시 적으로 만 토토 캔할 수 있습니다Collate
클로즈.
시스템보기 추가pg_ident_file_mappings
보고서on
정보 (Julien Rouhaud)§
쿼리 계획 시간 개선 파티션 된 테이블 (David Rowley)§
이 변경 사항은 많은 파티션 중 일부만 관련이있을 때 도움이됩니다.
더 많은 경우 정렬을 피하기 위해 파티션 스캔을 허용합니다 (David Rowley)§
이전에, A가있는 파티션 된 테이블.기본값
파티션 또는 AList
순서 파티션 스캔에는 여러 값을 포함하는 파티션을 토토 캔할 수 없습니다. 이제 계획 중에 그러한 파티션이 정리되면 토토 캔할 수 있습니다.
파티션 간 행을 움직이는 파티션 테이블에 대한 업토토 캔트의 외국 키 동작 개선 (Amit Langote)§
이전에, 그러한 업토토 캔트는 소스 파티션에 대한 조치 삭제 및 대상 파티션에서 삽입 조치를 실행했습니다..PostgreSQL이제 파티션 루트에서 업토토 캔트 작업을 실행하여 깨끗한 의미를 제공합니다.
수정Alter Trigger Rename
파티션 된 테이블에서 모든 파티션 (Arne Roland, Álvaro Herrera)에서 트리거 이름을 올바르게 바꾸십시오§
또한 복제 된 트리거가 이름이 바뀌는 것을 금지합니다.
시스템에서 btree 인덱스 허용 및토스트테이블을 효율적으로 저장하는 테이블 (Peter Geoghegan)§
이러한 유형의 인덱스에 대해 이전에 제거 기능이 비활성화되었습니다.
조회 성능 향상gist분류 (Aliksandr Kalenik, Sergei Shoulbakov, Andrey Borodin)를 토토 캔하여 구축 된 인덱스§
고유 한 제약과 인덱스가 처리 할 수 있도록NULL
뚜렷하지 않은 값 (Peter Eisentraut)§
이전NULL
항목은 항상 뚜렷한 값으로 취급되었지만 이제는 제약 조건 및 인덱스를 생성하여 변경할 수 있습니다고유 한 널 뚜렷하지 않은
.
허용^@
운영자와 함께 시작합니다Starting_with ()
C Collation (Tom Lane)을 토토 캔하는 경우 Btree Indexes를 토토 캔하는 기능§
이전에는 토토 캔할 수 있습니다SP-Gist인덱스.
허용확장 통계모든 자녀와 함께 부모에 대한 통계를 기록하려면 (Tomas Vondra, Justin Pryzby)§
정기 통계는 이미 부모와 부모-자녀 통계를 따로 추적했습니다.
서버 변수 추가recursive_worktable_factor
토토 캔자가 a의 예상 크기를 지정할 수 있도록재귀 쿼리(Simon Riggs)§
해시 조회 허용많은 상수가있는 조항 (David Rowley, James Coleman)§
이전 코드는 항상 값 목록을 순차적으로 스캔했습니다.
허용별도의 선택
병렬화 (David Rowley)§
인코딩 유효성 검사 속도UTF-8 한 번에 16 바이트를 처리하여 텍스트 (John Naylor, Heikki Linnakangas)§
이것은 텍스트가 많은 작업을 향상시킬 것입니다.복사
.
초과하는 종류의 성능 향상work_mem
(Heikki Linnakangas)§ §
정렬 토토 캔가 더 이상 맞지 않는 경우work_mem
, 이전보다 더 많은 출력 스트림을 토토 캔하는 배치 정렬 알고리즘으로 전환합니다.
메모리 인 메모리의 성능 향상 및 메모리 소비 감소 (Ronan Dunklau, David Rowley, Thomas Munro, John Naylor)§ § §
허용Wal 전체 페이지 쓰기LZ4 및 Zstandard 압축 (Andrey Borodin, Justin Pryzby)을 토토 캔하려면§ §
이것은에 의해 제어됩니다Wal_compression
서버 설정.
쓰기 지원 추가Wal토토 캔Direct I/Oon MacOS (Thomas Munro)§
이것은 경우에만 작동합니다max_wal_senders = 0
andWal_level = Minimal
.
허용PostgreSQL : 문서 : 15 : 25.1. 일상 토토 핫 청소기가장 오래된 냉동 및 다중 트랜잭션 ID (Peter Geoghegan)를 설정하는 데 더 공격적이라는 것§
다중 참조 쿼리 허용외국 테이블더 많은 경우 병렬 외국 테이블 스캔을 수행하려면 (Andrey Lepikhov, Etsuro Fujita)§
성능 향상범퍼카 토토 : 문서 : 15 : 9.22. 창 범퍼카 토토토토 캔row_number ()
, RANK ()
, Dense_Rank ()
andcount ()
(David Rowley)§
고유 카운트 ARM64 시스템 (Geoffrey Blake)에서 스핀 록의 성능 향상§
체크 포인트의 기본 로깅 및 느린자가 바쿠 작동 (Bharath Rupireddy)§
이것은 기본값을 변경합니다log_checkpoints
toon
그리고log_autovacuum_min_duration
~ 10 분. 이로 인해 유휴 서버조차도 일부 로그 출력을 생성하여 로그 파일 회전없이 자원 제한 서버의 문제를 일으킬 수 있습니다.
서버 로그에서 서버 로그에서 진행 메시지 생성 (Nitin Jadhav, Robert Haas)§ §
메시지는 지연의 원인을보고합니다. 알림의 시간 간격은 새로운 서버 변수에 의해 제어됩니다log_startup_progress_interval
.
Store누적 통계 시스템공유 메모리의 토토 캔 (Kyotaro Horiguchi, Andres Freund, Melanie Plageman)§ §
이전 에이 데이터는 통계 수집가 프로세스로 전송되었습니다.UDP패킷은 파일 시스템을 통해 전송 한 후에 만 세션으로 만 읽을 수 있습니다. 더 이상 별도의 통계 수집기 프로세스가 없습니다.
추가 정보 추가진공 장점
및 Autovacuum Logging 메시지 (Peter Geoghegan)§ § §
허용로그 출력inJSON형식 (Sehrope Sarkuni, Michael Paquier)§
새 설정은입니다.log_destination = jsonlog
.
허용pg_stat_reset_single_table_counters ()
모든 토토 캔 (Sadhuprasad Patro)에서 공유되는 관계 카운터를 재설정하려면§
add이벤트 대기로컬 쉘 명령 (fujii masao)§
새로운 대기 행사는 호출 할 때 토토 캔됩니다archive_command
, archive_cleanup_command
, Restore_command
and복구 _end_command
.
a 테이블 액세스 허용보기View의 발신자 (Christoph Heiss)의 특권에 의해 선택적으로 통제됩니다.§
이전에, 뷰 액세스는 항상 뷰의 소유자가 수행하는 것으로 취급되었습니다. 그것은 여전히 기본입니다.
pg_write_server_files
서버 측베이스 백업을 수행하는 사전 정의 된 역할 (dagfinn ilmari mannsåker)§
이전에 슈퍼 토토 캔자 만 그러한 백업을 수행 할 수 있습니다.
허용그랜트
|SET
andAlter System
(Mark Dilger)§ §
새로운 기능has_parameter_privilege ()
이 특권에 대한보고.
사전 정의 된 역할 추가pg_checkpoint
회원이 실행할 수있게 해줍니다Checkpoint
(Jeff Davis)§ §
이전 체크 포인트는 슈퍼 유행자 만 실행할 수 있습니다.
PG_READ_ALL_STATS
보기에 액세스하는 사전 정의 된 역할PG_BACKEND_MEMORY_CONTEXTS
andpg_shmem_allocations
(Bharath Rupireddy)§
이전 에이 견해는 슈퍼 유행자 만 액세스 할 수있었습니다.
허용그랜트
에 대한 권한 부여PG_LOG_BACKEND_MEMORY_CONTEXTS ()
(Jeff Davis)§
이전에는이 기능이 슈퍼 유행자 만 실행할 수 있습니다.
서버 변수 추가shared_memory_size
할당 된 공유 메모리의 크기를보고하려면 (Nathan Bossart)§ §
서버 변수 추가shared_memory_size_in_huge_pages
필요한 거대한 메모리 페이지 수를보고하려면 (Nathan Bossart)§ §
이것은 Linux에서만 지원됩니다.
명예 서버 변수shared_preload_libraries
단일 토토 캔자 모드 (Jeff Davis)§
이 변경 사항은 토토 캔을 지원합니다.shared_preload_libraries
토토 캔자 정의 액세스 방법 및 WAL 리소스 관리자를로드하려면 단일 토토 캔자 모드에서도 토토 캔 액세스에 필수적입니다.
Solaris에서의 기본 설정을 만드십시오.dynamic_shared_memory_type
beSYSV
(Thomas Munro)§
이전 기본 선택,posix
,이 플랫폼에서 가짜 실패를 초래할 수 있습니다.
허용Postgres -c
런타임 컴퓨팅 값을 올바르게보고하려면 (Nathan Bossart)§
이전에 런타임 계산 값data_checksums
, Wal_Segment_Size
및data_directory_mode
실행중인 서버에서 정확하지 않은 값을보고합니다. 그러나 이것은 실행중인 서버에서 작동하지 않습니다.
서버 측의 LZ4 및 Zstandard 압축에 대한 지원 추가베이스 백업(Jeevan Ladhe, Robert Haas)§ § §
Crash Recovery (Thomas Munro) 중에 CheckPointer 및 BGWriter 프로세스 실행§
이것은 긴 충돌 회복 속도를 높이는 데 도움이됩니다.
허용Wal필요한 파일 내용을 사전 가져 오기 위해 처리 (Thomas Munro)§
이것은 서버 변수에 의해 제어됩니다복구 _prefetch
.
로드 가능한 모듈 (Nathan Bossart)을 통한 아카이브 허용§
이전에 보관은 쉘 명령을 호출 하여만 수행되었습니다. 새로운 서버 변수archive_library
아카이브를 위해 요청할 라이브러리를 지정하도록 설정할 수 있습니다.
더 이상 필요하지 않음식별 _system
전에 실행할start_replication
(Jeff Davis)§
허용Publication스키마의 모든 테이블 중 (Vignesh C, Hou Zhijie, Amit Kapila)§ § §
예를 들어,이 구문은 이제 지원되었습니다.Schema S1, S2의 테이블 용 Pub1 작성
. Alter Publication
유사한 구문을 지원합니다. 나중에 나열된 스키마에 추가 된 테이블도 복제됩니다.
a를 토토 캔하여 출판 내용을 필터링하도록 허용어디
절 (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila)§ § §
행을 만족시키지 못하는 행어디
조항이 게시되지 않았습니다.
출판 내용이 특정 열로 제한되도록 허용 (Tomas Vondra, Álvaro Herrera, Rahila Syed)§
가입자에서 트랜잭션을 건너 뛰기구독 변경 ... skip
(Masahiko Sawada)§
논리 복제 (Peter Smith, Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich)에 대한 준비된 (2 단계) 거래에 대한 지원 추가§ § §
새로운create_replication_slot
옵션은입니다.Two_Phase
. PG_RECVLOGICAL이제 새로운 지원--- 위상
슬롯 생성 중 옵션.
빈 트랜잭션의 논리 복제 방지 (Ajin Cherian, Hou Zhijie, Euler Taveira)§
구독 테이블이 수정되지 않은 경우 게시자가 구독자에게 빈 트랜잭션을 보낼 것입니다.
addSQL논리적 복제 슬롯의 디렉토리 내용을 모니터링하는 기능 (Bharath Rupireddy)§
새로운 기능은PG_LS_LOGICALSNAPDIR ()
, PG_LS_LOGICALMAPDIR ()
및PG_LS_REPLSLOTDIR ()
. 사전 정의 된 멤버가 운영 할 수 있습니다pg_monitor
역할.
가입자가 오류에 대한 논리적 복제 변경을 중지하도록 허용 (Osumi Takamichi, Mark Dilger)§
가입자 옵션으로 활성화disable_on_error
스트림 응용 프로그램 중에 가능한 무한 오류 루프를 피하십시오.
게시자와 일치하도록 가입자 서버 변수를 조정하여 DateTime 및 Float8 값이 일관되게 해석됩니다 (Japin Li)§
일부 게시자는 일관되지 않은 행동에 의존 할 수 있습니다.
시스템보기 추가pg_stat_subscription_stats
가입자 활동에 대한보고 (Masahiko Sawada)§ §
새로운 기능pg_stat_reset_subscription_stats ()
이 통계 카운터를 재설정 할 수 있습니다.
pg_publication_tables
시스템보기 (Hou Zhijie)§
경우에 따라 파티션이 두 번 이상 나타날 수 있습니다.
addSQL 병합
한 테이블을 다른 테이블에 맞게 조정하라는 명령 (Simon Riggs, Pavan Deolasee, Álvaro Herrera, Amit Langote)§
이것은와 유사합니다.삽입 ... 충돌
그러나 더 많은 배치 지향.
지원 추가헤더
옵션COPY
텍스트 형식 (Rémi Lapeyre)§ §
새 옵션으로 인해 열 이름이 출력되고 선택적으로 입력에서 확인됩니다.
새로운 추가Wal-logged method for토토 캔 작성(Dilip Kumar)§
토토 캔 생성 중 체크 포인트가 필요하지 않기 때문에 템플릿 토토 캔를 복사하는 새로운 기본 메소드입니다. 그러나 템플릿 토토 캔가 크면 기존 메소드가 여전히 토토 캔할 수 있습니다.
예방DROP DATABASE
, 드롭 테이블 스페이스
및토토 캔 세트 테이블 스페이스 변경
Windows에서 동시에 토토 캔하는 동안 때때로 실패하여 (Thomas Munro)§
외국 키 허용ON DELETE SET
지정된 열만 영향을 미치는 조치 (Paul Martinez)§
이전에 외국 키의 모든 열이 항상 영향을 받았습니다.
허용Alter Table
테이블 수정하려면액세스 방법
(Justin Pryzby, Jeff Davis)§
객체 액세스 후크를 올바르게 호출 할 때Alter Table
원인 테이블 다시 작성 (Michael Paquier)§
함수 결과에서 개별 열의 종속성 추적 복합 유형 (Tom Lane)§
이전에, 뷰 또는 규칙에 복합 회복 함수의 결과 내에 특정 열에 대한 참조가 포함 된 경우, 이는 종속성으로 표시되지 않았다. 보기 또는 규칙은 복합 유형 전체에만 의존하는 것으로 간주되었습니다.
a 허용숫자
값은 음수이거나 정밀도보다 큽니다 (Dean Rasheed, Tom Lane)§
이것은 소수점의 왼쪽으로 값을 반올림 할 수 있습니다 (예 :'1234':: 숫자 (4, -2)
1200을 반환합니다.
값을 주조 할 때 오버플로 감지 개선PostgreSQL : 문서 : 15 : 8.5. 날짜/윈 토토 유형(Joe Koshakow)§
타입의 I/O 형식 변경"char"
비 ASCII 문자 (Tom Lane)§
이모티콘 (Jacob Champion)과 같은 현대 유니 코드 문자의 디스플레이 너비 정보 업토토 캔트§ §
유니 코드 5.0에서 14.0.0에서 업토토 캔트하십시오. 이제 유니 코드 릴리스로 Postgres를 업토토 캔트 할 수있는 자동화 된 방법이 있습니다.
멀티 랜지 입력 추가Range_agg ()
(Paul Jungwirth)§
다른 관계형 시스템과의 호환성을위한 정규 표현 함수 추가 (Gilles Darold, Tom Lane)§
새로운 기능은regexp_count ()
, regexp_instr ()
, regexp_like ()
및regexp_substr ()
. 일부 새로운 선택적 인수도에 추가되었습니다.regexp_replace ()
.
addTO_CHAR ()
형식 코드of
, TZH
및TZM
(Nitin Jadhav)§
이들 중 상위 상위 동등 요소가 이미 지원되었습니다.
적용 할 때시간대에서
a시간대가있는 시간
값, 값, 벽 시계 시간 대신 트랜잭션 시작 시간을 토토 캔하여 DST가 적용되는지 여부를 결정합니다 (Aleksander Alekseev, Tom Lane)§
이것은 변환이 휘발성이 아닌 안정적으로 간주 될 수 있으며 호출 당 커널 호출을 저장합니다..
무시 무시TS_DELETE ()
andsetweight ()
배열 인수와 기능 (Jean-Christophe Arnu)§
이러한 기능은 빈 스트링 어레이 요소를 효과적으로 무시합니다 (유효한 lexeme과 일치 할 수 없기 때문에). 실패 대신 널 요소를 무시하게하는 것이 일관된 것 같습니다.
페타 바이트 유닛에 대한 지원 추가pg_size_pretty ()
andpg_size_bytes ()
(David Christensen)§
변경pg_event_trigger_ddl_commands ()
실제 스키마 이름 (Tom Lane)을 토토 캔하여 다른 세션의 임시 스키마에 대한 참조를 출력하려면§
이전 에이 기능은 모든 임시 스키마를로보고했습니다.PG_TEMP
, 그러나 현재 세션의 임시 스키마를 제외하고는이를 토토 캔하는 것은 오해의 소지가 있습니다.
성능 향상PSQL's\ copy
명령, 더 큰 청크 (Heikki Linnakangas)로 데이터를 보내어 명령§
add\ dconfig
서버 변수를보고하는 명령 (Mark Dilger, Tom Lane)§ § §
이것은 서버 측과 유사합니다Show
명령이지만 여러 변수를 편리하게 표시하기 위해 패턴을 처리 할 수 있습니다.
add\ getenv
환경 변수의 값을 A에 할당하도록 명령PSQL가변 (Tom Lane)§
add+
옵션\ lo_list
and\ dl
대형 객체 특권 표시 명령 (Pavel Luzanov)§
\ watch
Command (Pavel Stehule, Thomas Munro)§
이것은 UNIX에서만 지원되며에 의해 제어됩니다psql_watch_pager
환경 변수.
만들기PSQL서버로 전송 된 쿼리에 쿼리 내 이중 하이픈 댓글 포함 (Tom Lane, Greg Nancarrow)§ §
이전에 그러한 주석이 전송되기 전에 쿼리에서 제거되었습니다. 쿼리 텍스트가 전송되지 않으며 별도의로 기록되지 않은 Double-Hyphen 주석PSQL역사 항목.
조정PSQL그래서Readline's Meta-#
명령은 Double-Hyphen 주석 마커 (Tom Lane)를 삽입합니다§
토토 캔자가 비 기본 주석 마커를 구성하는 데 어려움을 겪지 않는 한 이전에 파운드 마커가 삽입되었습니다.
만들기PSQL여러 쿼리가 한 번에 서버로 전달 될 때 모든 결과를 출력 (Fabien Coelho)§
이전에는 마지막 쿼리 결과 만 표시되었습니다. 옛 행동은를 설정하여 회복 될 수 있습니다.show_all_results
PSQL변수OFF
.
오류가 감지 된 후--- 단일 전환
모드, 최종 변경커밋
명령 to롤백
만on_error_stop
is set (Michael Paquier)§
이전에 A에서 오류 감지-c
명령 또는-f
스크립트 파일은 발행으로 이어집니다롤백
끝에서on_error_stop
.
개선PSQL'탭 완료 (Shinya Kato, Dagfinn Ilmari Mannsåker, Peter Smith, Koyu Tanigawa, Ken Kato, David Fetter, Haiying Tang, Peter Eisentraut, Álvaro Herrera, Tom Lane, Masahiko Sawada)§ § § § § § § § § § § § § § § § § § § §
제한 지원PSQL의 백 슬래시 명령을 실행중인 서버에PostgreSQL9.2 이상 (Tom Lane)§
이전 서버에서만 실행할 때만 토토 캔 된 코드를 제거합니다. 9.2에 비해 버전 별 조정이 필요하지 않은 명령은 여전히 작동합니다.
많은 객체와 함께 덤프 토토 캔의 성능 향상 (Tom Lane)§ § §
이것은 또한의 성능을 향상시킬 것입니다.pg_upgrade.
병렬 개선pg_dump대형 테이블의 성능토스트테이블 (Tom Lane)§
덤프/복원 옵션 추가--테이블 액세스-메드
기본 테이블 액세스 방법 (Justin Pryzby) 만 토토 캔하도록 강제 복원하려면§
제한 지원pg_dumpandpg_dumpall실행중인 서버PostgreSQL9.2 이상 (Tom Lane)§
새로운 추가pg_basebackup옵션-타겟
기본 백업 위치를 제어하려면 (Robert Haas)§
새로운 옵션은Server
로컬로 백업을 작성하려면Blackhole
백업을 폐기하려면 (테스트 용)
허용pg_basebackup서버 측 GZIP, LZ4 및 Zstandard 압축 및 클라이언트 측 LZ4 및 Zstandard 압축을 수행합니다 (Dipesh Pandit, Jeevan Ladhe)§ § §
클라이언트 측gzip
압축이 이미 지원되었습니다.
허용pg_basebackup스토리지 전에 서버 측에서 압축하고 클라이언트 측에서 압축을 압축하려면 (Dipesh Pandit)§
이것은 서버 측 및 일반 출력 형식에서 압축을 지정하여 달성됩니다.
허용pg_basebackup's-코 프레스
압축 위치를 제어하는 옵션 (서버 또는 클라이언트), 압축 방법 및 압축 옵션 (Michael Paquier, Robert Haas)§ § §
LZ4 압축 방법을 추가pg_receivewal(Georgios Kokolatos)§ §
이것은 rident-코프 프레스 = lz4
-with-lz4
.
추가 기능 추가pg_receivewal's-코 프레스
옵션 (Georgios Kokolatos)§
개선pg_receivewal의 적절한 재시작 능력Wal위치 (Ronan Dunklau)§
이전,pg_receivewal를 기준으로 시작합니다Wal로컬 아카이브 디렉토리에 저장된 파일 또는 보내는 서버의 현재Wal플러시 위치. 이 변경 사항을 토토 캔하면 전송 서버가 Postgres 15 이상을 실행하는 경우 로컬 아카이브 디렉토리가 비어 있고 복제 슬롯이 지정되어 있으면 복제 슬롯의 재시작 지점이 토토 캔됩니다..
addpg_rewind옵션--- 코피 파일
서버 구성 파일 (Gunnar Bluth) 외부에 저장 될 때 토토 캔을 단순화하려면§
Storepg_upgrade의 로그 및 임시 파일이라는 새 클러스터의 서브 디렉토리pg_upgrade_output.d
(Justin Pryzby)§ § §
이전에 해당 파일은 현재 디렉토리에 남겨져 수동 정리가 필요합니다. 이제 그들은 성공적인 완료시 자동으로 제거됩니다pg_upgrade.
기본 상태보고 비활성화pg_upgrade출력이 터미널이 아닌 경우 작동 (Andres Freund)§
상태보고 출력을 토토 캔하여 비 Tty 토토 캔에 대해 활성화 할 수 있습니다-VERBOSE
.
만들기pg_upgrade유효하지 않은 연결 설정 (Jeevan Ladhe)으로 모든 토토 캔를보고합니다.§
이전에는 유효하지 않은 연결 설정이있는 첫 번째 토토 캔 만보고되었습니다.
만들기pg_upgraderelfilenode 번호뿐만 아니라 테이블 스페이스 및 토토 캔 OID를 보존합니다 (Shruthi Gowda, Antonin Houska)§ § §
a-no-sync
옵션pg_upgrade(Michael Paquier)§
이것은 테스트에만 권장됩니다.
제한 지원pg_upgrade실행중인 오래된 서버PostgreSQL9.2 이상 (Tom Lane)§
허용pg_waldump관계 파일 노드, 블록 번호, 포크 번호 및 전체 페이지 이미지 (David Christensen, Thomas Munro)에 의해 필터링되는 출력§ §
만들기pg_waldump중단 된 출구 전 통계 보고서 (Bharath Rupireddy)§
예를 들어 터미널 실행에서 Control-C를 발행PG_WALDUMP -Stats -Follow
종료하기 전에 현재 통계를보고합니다. 이것은 Windows에서 작동하지 않습니다.
일부 거래에 대한 설명 개선Wal기록에 의해보고 된 기록pg_waldump(Masahiko Sawada, Michael Paquier)§
허용pg_waldump여러 리소스 관리자에 대한 정보를 덤프하기 위해 (Heikki Linnakangas)§
이것은를 지정하여 활성화됩니다-rmgr
여러 번 옵션.
문서 추가pg_encoding_to_char ()
andpg_char_to_encoding ()
(Ian Lawrence Barwick)§
Cirrus-CI (Andres Freund, Thomas Munro, Melanie Plageman)를 토토 캔한 지속적인 통합 테스트 지원 추가§
구성 옵션 추가-with-zstd
Zstandard 빌드 (Jeevan Ladhe, Robert Haas, Michael Paquier)§
로드 가능한 라이브러리의 Magic Block에 ABI 식별자 필드를 추가하여 비 공동체를 허용합니다PostgreSQL다른 빌드와 호환되지 않는 라이브러리를 식별하는 분포 (Peter Eisentraut)§
ABI 필드 불일치가로드 타임에 오류가 발생합니다.
새로운 생성pg_type.typcategory
value for"char"
(Tom Lane)§
다른 내부 토토 캔 전용 유형 도이 범주에 할당되었습니다.
새 프로토콜 메시지 추가대상
새로 지정하려면COPY
81063_81111§
pg_basebackup이제이 방법을 토토 캔합니다.
새 프로토콜 메시지 추가압축
andcompression_detail
압축 방법 및 옵션을 지정하려면 (Robert Haas)§ §
이전에 대한 서버 지원 제거Base_backup
명령 구문 및 기본 백업 프로토콜 (Robert Haas)§ §
토토 캔자 정의 백업 대상을 설정하기위한 확장에 대한 지원 추가 (Robert Haas)§
토토 캔자 정의를 정의하기 위해 확장자 허용Wal자원 관리자 (Jeff Davis)§
함수 추가pg_settings_get_flags ()
서버 변수의 플래그를 얻으려면 (Justin Pryzby)§
Windows에서를 토토 캔하여 모든 서버의 글로벌 변수를 내보내십시오pgdllimport
마커 (Robert Haas)§
이전에는 특정 변수 만 Windows의 확장에 액세스 할 수있었습니다.
GNU 필요만들기버전 3.81 이상 빌드PostgreSQL(Tom Lane)§
요구Perl버전 5.8.3 이상 (Dagfinn Ilmari Mannsåker)§
요구Python버전 3.2 이상 (Andres Freund)§
개선AmcheckSanity Checks for토스트테이블 (Mark Dilger)§
새 모듈 추가Basebackup_to_shell토토 캔자 정의 백업 대상 (Robert Haas)의 예로서§ §
새 모듈 추가Basic_archive도서관을 통해 아카이브를 수행하는 예 (Nathan Bossart)§
허용btree_gist부울 열의 인덱스 (emre hasegeli)§ § §
이들은 제외 제약에 토토 캔할 수 있습니다.
수정PageInspect'spage_header ()
32 킬로바이트 페이지 크기 (Quan Zongliang) 처리하려면§
이전에, 어떤 경우에는 부적절한 음수 값을 반환 할 수 있습니다.
임시 파일 블록 I/O에 카운터 추가pg_stat_statements(Masahiko Sawada)§
addjitpg_stat_statements에 대한 카운터 (Magnus Hagander)§
새 모듈 추가pg_walinspect(Bharath Rupireddy)§
이것은 제공SQL-레벨 출력과 유사pg_waldump.
postgres_fdw가 아래로 밀도록 허용CASE
Expressions (Alexander Pyhalov)§
서버 변수 추가postgres_fdw.application_name
Postgres_FDW Connections (Hayato Kuroda)의 응용 프로그램 이름을 제어하려면§ § §
이전의 원격 세션application_name
원격 서버 또는 A에서만 설정할 수 있습니다.Postgres_FDW연결 사양.postgres_fdw.application_name
토토 캔자 정의를위한 일부 탈출 시퀀스를 지원하므로 원격 서버에서 이러한 연결을 쉽게 알 수 있습니다.
병렬 커밋 허용Postgres_FDW서버 (Etsuro Fujita)§
이것은와 함께 활성화됩니다.서버 생성
옵션Parallel_Commit
.
다음 개인 (알파벳 순서로)은이 릴리스에 패치 저자,위원회, 검토 자, 테스터 또는 문제의 기자로 기여했습니다.
Abhijit Menon-Sen |
Adam Brusselback |
Adam Mackler |
Adrian Ho |
Ahsan Hadi |
Ajin Cherian |
Alastair McKinley |
Aleksander Alekseev |
Ales Zeleny |
Alex Kingsborough |
Alex Kozhemyakin |
Alexander Korotkov |
Alexander Kukushkin |
Alexander Lakhin |
Alexander Nawratil |
Alexander Pyhalov |
Alexey Borzov |
Alexey Ermakov |
aliaksandr kalenik |
Álvaro Herrera |
Amit Kapila |
Amit Khandekar |
Amit Langote |
Amul Sul |
Anastasia Lubennikova |
Anders Kaseorg |
Andreas Dijkman |
Andreas Grob |
Andreas Seltenreich |
Andrei Zubkov |
Andres Freund |
Andrew Alsup |
Andrew Bille |
Andrew Dunstan |
Andrew Gierth |
Andrew Kesper |
Andrey Borodin |
Andrey Lepikhov |
Andrey Sokolov |
Andy Fan |
Anton Melnikov |
Anton Voloshin |
Antonin Houska |
Arjan van de ven |
Arne Roland |
Arthur Zakirov |
Ashutosh Bapat |
Ashutosh Sharma |
Ashwin Agrawal |
Asif Rehman |
Asim Praveen |
Atsushi Torikoshi |
aya iwata |
Bauyrzhan Sakhariyev |
Benoit Lobréau |
Bernd Dorn |
Bertrand Drouvot |
Bharath Rupireddy |
Björn Harrtell |
Boris Kolpackov |
Boris Korzun |
브래드 니콜슨 |
Brar Piening |
Bruce Momjian |
Bruno da Silva |
Bryn Llewellyn |
Carl Sopchak |
Cary Huang |
채프먼 플랙 |
Chen Jiaoqian |
Chris Bandy |
Chris Lowder |
Christian Quest |
Christoph Berg |
Christoph Heiss |
Christophe Pettus |
Christopher Painter-Wakefield |
Claudio Freire |
Clemens Zeidler |
Corey Huinker |
DAG LEM |
Dagfinn Ilmari Mannsåker |
Dan Kubb |
Daniel Cherniy |
Daniel Gustafsson |
Daniel Polski |
Daniel Vérité |
Daniel Westermann |
Daniele Varrazzo |
Daniil Anisimov |
Danny Shemesh |
Darafei Praliaskouski |
Daria Lepikhova |
Dave Cramer |
Dave Page |
David Christensen |
David Fetter |
David G. Johnston |
David Rowley |
David Steele |
David Zhang |
Dean Rasheed |
Dian Fay |
Dilip Kumar |
Dipesh Pandit |
dmitry dolgov |
Dmitry Koval |
Dmitry Marakasov |
Dominique Devienne |
Dong Wook |
Drew Devault |
Eduard Català |
Egor Chindyaskin |
Egor Rogov |
Ekaterina Kiryanova |
Elena Indrupskaya |
Elvis Pranskevichus |
Emmanuel Quincerot |
Emre Hasegeli |
Eric Mutta |
Erica Zhang |
Erik Rijkers |
Erki Eessaar |
Etsuro Fujita |
Euler Taveira |
Fabien Coelho |
Fabrice Chapuis |
Fabrice fontaine |
Fabrízio de Royes Mello |
Feike Steenbergen |
Filip Gospodinov |
Florin Irion |
Floris van Nee |
Frédéric Yhuel |
Gabriela Serventi |
Gaurab dey |
Geoff Winkless |
Geoffrey Blake |
Georgios Kokolatos |
Gilles Darold |
Greg Nancarrow |
Greg Rychlewski |
Greg Sabino Mullane |
Greg Stark |
Gregory Smith |
Guillaume Lelarge |
Gunnar Bluth |
Gurjeet Singh |
Haiyang Wang |
Haiying Tang |
Hannu Krosing |
Hans Buschmann |
Hayato Kuroda |
Heath Lord |
Heikki Linnakangas |
Herwig Goemans |
Himanshu Upadhyaya |
홀리 로버츠 |
Hou Zhijie |
Hubert Lubaczewski |
Ian Barwick |
Ian Campbell |
Ibrar Ahmed |
ildus kurbangaliev |
Ilya Anfimov |
Itamar Gafni |
야곱 챔피언 |
Jaime Casanova |
Jakub Wartak |
James Coleman |
James Hilliard |
제임스 정보 |
Jan Piotrowski |
Japin Li |
Jason Harvey |
Jason Kim |
Jean-Christophe Arnu |
Jeevan Ladhe |
Jeff Davis |
Jeff Janes |
Jehan-Guillaume de Rorthais |
Jelte Fennema |
Jeremy Evans |
Jeremy Schneider |
Jian Guo |
Jian HE |
Jimmy Yih |
Jiri Fejfar |
Jitka Plesníková |
Joe Conway |
Joe Wildish |
Joel Jacobson |
Joey Bodoia |
John Naylor |
Jonathan Katz |
Josef Simanek |
Joseph Koshakow |
Josh Soref |
Joshua Brindle |
Juan José Santamaría Flecha |
Julien Rouhaud |
Julien Roze |
Junwang Zhao |
Jürgen Purtz |
Justin Pryzby |
Ken Kato |
Kevin Burke |
Kevin Grittner |
Kevin Humphreys |
Kevin McKibbin |
Kevin Sweet |
Kevin Zheng |
Klaudie Willis |
Konstantin Knizhnik |
Konstantina Skovola |
Kosei Masumura |
Kotaro Kawamoto |
Koyu Tanigawa |
Kuntal Ghosh |
Kyotaro Horiguchi |
Lars Kanis |
Lauren Fliksteen |
Laurent Hasson |
Laurenz Albe |
Leslie Lemaire |
Liam Bowen |
Lingjie Qiang |
Liu Huailing |
Louis Jachiet |
Lukas Fittl |
Ma Liangzhu |
Maciek Sakrejda |
Magnus Hagander |
Mahendra Singh Thalor |
Maksim Milyutin |
Marc Bachmann |
Marcin Krupowicz |
Marcus Gartner |
Marek Szuba |
Marina Polyakova |
Mario Emmenlauer |
Mark Dilger |
Mark Murawski |
Mark Wong |
Markus Wanner |
Markus Winand |
Martijn van Oosterhout |
Martin Jurca |
Martin Kalcher |
Martín Marqués |
Masahiko Sawada |
Masahiro Ikeda |
Masao Fujii |
Masaya Kawamoto |
Masayuki Hirose |
Matthias van de Meent |
Matthijs van der Vleuten |
Maxim Orlov |
Maxim Yablokov |
Melanie Plageman |
Michael Banck |
Michael Harris |
Michael J. Sullivan |
Michael Meskes |
Michael Mühlbeyer |
Michael Paquier |
Michael Powers |
Mike Fiedler |
Mike OH |
Mikhail Kulagin |
Miles Delahunty |
Naoki Okano |
Nathan Bossart |
Nathan Long |
Nazir Bilal Yavuz |
Neha Sharma |
Neil Chen |
Nicola Contu |
Nicolas lutic |
Nikhil Benesch |
Nikhil Shetty |
Nikhil Sontakke |
Nikita Glukhov |
Nikolai Berkoff |
Nikolay Samokhvalov |
Nikolay Shaplov |
Nitin Jadhav |
Noah Misch |
Noboru Saito |
Noriyoshi Shinoda |
Olaf Bohlen |
Olly Betts |
Onder Kalaci |
Oskar Stenberg |
Otto Kekalainen |
Paul Guo |
Paul Jungwirth |
Paul Martinez |
Pavan Deolasee |
Pavel Borisov |
Pavel Luzanov |
Pavel Stehule |
Peter Eisentraut |
Peter Geoghegan |
Peter Slavov |
Peter Smith |
Petr Jelínek |
Phil Florent |
Phil Krylov |
Pierre-Aurélien Georges |
Prabhat Sahu |
Quan Zongliang |
Rachel Heaton |
Rahila Syed |
Rajakavitha Kodhandapani |
Rajkumar Raghuwanshi |
Ranier Vilela |
Rei Kamigishi |
Reid Thompson |
Rémi Lapeyre |
Renan Soares Lopes |
Richard Guo |
Richard Wesley |
RKN Sai Krishna |
Robert Haas |
Robert Treat |
Roberto Mello |
Robins Tharakan |
Roger Mason |
Roman Zharkov |
Ronan Dunklau |
Rui Zhao |
Ryan Kelly |
Ryo Matsumura |
Ryohei Takahashi |
Sadhuprasad Patro |
Sait Talha Nisanci |
Sami Imseih |
Sandeep Thakkar |
Sebastian Kemper |
Sehrope Sarkuni |
Sergei Kornilov |
Sergei Shoulbakov |
Sergey Shinderuk |
Shay Rojansky |
Shenhao Wang |
Shi Yu |
Shinya Kato |
Shruthi Gowda |
Simon Perepelitsa |
Simon Riggs |
Sirisha Chamarthi |
Soumyadeep Chakraborty |
Stan Hu |
Stas Kelvich |
Stefen Hillman |
Stephen Frost |
Steve Chavez |
Sumanta Mukherjee |
Suraj Khamkar |
Suraj Kharage |
Sven Klemm |
Takamichi Osumi |
쓰나카와 타카 카카와 |
Takeshi Ideriha |
Tatsuhiro Nakamori |
Tatsuhito Kasahara |
Tatsuo Ishii |
Tatsuro Yamada |
Teja Mupparti |
Teodor Sigaev |
Thibaud Walkowiak |
Thom Brown |
Thomas McKay |
Thomas Munro |
Tim McNamara |
Timo Stolz |
Timur Khanjanov |
Tom Lane |
Tomas Barton |
Tomas Vondra |
Tony Reix |
Troy Frericks |
Tushar Ahuja |
Victor Wagner |
Victor Yegorov |
Vignesh C |
Vik Fearing |
Vincas Dargis |
Vitaly Burovoy |
Vitaly Voronov |
104999_105016 |
Wang Ke |
Wei Sun |
Wei Wang |
고래 노래 |
Will Mortensen |
Wolfgang Walther |
Yanliang Lei |
Yaoguang Chen |
Yogendra Suralkar |
Younghwan Joo |
Yugo Nagata |
Yukun Wang |
Yura Sokolov |
Yusuke Egashira |
Yuzuko Hosoya |
Zhang Mingli |
Zhang Wenjie |
Zhihong Yu |
Zhiyong Wu |
문서에 올바른 것이 없다면 일치하지 않습니다.이 양식문서 문제를보고하려면