다음을 통해 공유


Azure Cosmos DB for PostgreSQL의 PostgreSQL 확장

적용 대상: Azure Cosmos DB for PostgreSQL(PostgreSQL에 대한 Citus 데이터베이스 확장 기반)

PostgreSQL은 확장을 사용하여 데이터베이스의 기능을 확장합니다. 확장을 통해 관련된 여러 SQL 개체를 단일 패키지에 번들로 묶을 수 있으며 단일 명령을 사용해서 데이터베이스에서 로드하거나 제거할 수 있습니다. 데이터베이스에 로드된 확장은 기본 제공 기능처럼 작동할 수 있습니다. PostgreSQL 확장에 대한 자세한 내용은 관련 개체를 확장으로 패키지를 참조하세요.

PostgreSQL 확장 사용

PostgreSQL 확장을 사용하려면 먼저 데이터베이스에 설치해야 합니다. 특정 확장을 설치하려면 psql 도구에서 CREATE EXTENSION 명령을 실행하여 패키지 개체를 데이터베이스에 로드합니다.

참고 항목

CREATE EXTENSION이 권한 거부 오류와 함께 실패하면 대신 create_extension() 함수를 시도합니다. 예를 들면 다음과 같습니다.

SELECT create_extension('postgis');

이 방식으로 설치된 확장을 제거하려면 drop_extension()을 사용합니다.

Azure Cosmos DB for PostgreSQL은 현재 여기에 나열된 대로 주요 확장의 하위 집합을 지원합니다. 나열된 항목 이외의 확장은 지원되지 않습니다. Azure Cosmos DB for PostgreSQL로 사용자 고유의 확장을 만들 수 없습니다.

Azure Cosmos DB for PostgreSQL에서 지원되는 확장

다음 표에는 Azure Cosmos DB for PostgreSQL에서 지원하는 표준 PostgreSQL 확장이 나와 있습니다. 이 정보를 SELECT * FROM pg_available_extensions;를 실행하여 얻을 수도 있습니다.

클러스터에 설치된 각 확장의 버전은 PostgreSQL의 버전(11, 12, 13, 14, 15 또는 16)에 따라 다를 수 있습니다. 표에 데이터베이스 버전별로 확장 버전이 나열되어 있습니다.

Citus 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Citus 분산 데이터베이스입니다. 9.5 10.2 11.3 12.1 12.1 12.1

데이터 형식 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext 대/소문자 구분 문자 문자열 형식을 제공합니다. 1.5 1.6 1.6 1.6 1.6 1.6
cube 다차원 큐브의 데이터 형식을 제공합니다. 1.4 1.4 1.4 1.5 1.5 1.5
hll HyperLogLog 데이터 구조를 제공합니다. 2.18 2.18 2.18 2.18 2.18 2.18
hstore 키/값 쌍 집합을 저장하기 위한 데이터 형식을 제공합니다. 1.5 1.6 1.7 1.8 1.8 1.8
isn 국제 제품 번호 매기기 표준에 대한 데이터 형식을 제공합니다. 1.2 1.2 1.2 1.2 1.2 1.2
lo LOB(Large Object) 유지 관리입니다. 1.1 1.1 1.1 1.1 1.1 1.1
ltree 계층적 트리 구조에 대한 데이터 형식을 제공합니다. 1.1 1.1 1.2 1.2 1.2 1.2
seg 직선 세그먼트 또는 부동 소수점 간격을 나타내는 데이터 형식입니다. 1.3 1.3 1.3 1.4 1.4 1.4
tdigest 분위수 및 절사평균과 같은 순위 기반 통계의 온라인 누적을 위한 데이터 형식입니다. 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn top-n JSONB에 대한 형식입니다. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

전체 텍스트 검색 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int 정수에 대한 텍스트 검색 사전 템플릿을 제공합니다. 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 확장된 동의어 처리를 위한 텍스트 검색 사전 템플릿입니다. 1.0 1.0 1.0 1.0 1.0 1.0
unaccent Lexemes에서 악센트(분음 기호)를 제거하는 텍스트 검색 사전입니다. 1.1 1.1 1.1 1.1 1.1 1.1

함수 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc 자동 증가 필드를 위한 함수입니다. 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 지구 표면의 대원 거리를 계산하는 방법을 제공합니다. 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 문자열 간 유사성 및 거리를 확인하기 위한 몇 가지 함수를 제공합니다. 1.1 1.1 1.1 1.1 1.1 1.2
insert_username 테이블을 변경한 사람을 추적하는 함수입니다. 1.0 1.0 1.0 1.0 1.0 1.0
intagg 정수 집계 및 열거자입니다(사용되지 않음). 1.1 1.1 1.1 1.1 1.1 1.1
intarray null 없는 정수 배열을 조작하기 위한 함수 및 연산자를 제공합니다. 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime 마지막 수정 시간을 추적하는 함수입니다. 1.0 1.0 1.0 1.0 1.0 1.0
orafce Oracle RDBMS의 함수 및 패키지 하위 집합을 에뮬레이트하는 함수 및 연산자입니다. 4.9 4.9 4.9
pg_partman 시간 또는 ID로 분할된 테이블을 관리합니다. 4.7.4 4.7.4 4.7.4 5.1.0 5.1.0 5.1.0
pg_surgery 손상된 관계에 대한 수술을 수행하는 함수. 1.0 1.0 1.0
pg_trgm trigram 일치를 기준으로 영숫자 텍스트의 유사성을 확인하기 위한 함수 및 연산자를 제공합니다. 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto 암호화 함수를 제공합니다. 1.3 1.3 1.3 1.3 1.3 1.3
refint 참조 무결성을 구현하는 함수입니다(사용되지 않음). 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc 크로스탭을 비롯하여 전체 테이블을 조작하는 함수를 제공합니다. 1.0 1.0 1.0 1.0 1.0 1.0
tcn 트리거된 변경 알림입니다. 1.0 1.0 1.0 1.0 1.0 1.0
timetravel 시간 이동 구현을 위한 함수입니다. 1.0
uuid-ossp UUID(범용 고유 식별자)를 생성합니다. 1.1 1.1 1.1 1.1 1.1 1.1

인덱스 형식 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom 블룸 액세스 메서드 - 서명 파일 기반 인덱스입니다. 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 특정 데이터 형식에 대해 B-트리 유사 동작을 구현하는 샘플 GIN 연산자 클래스를 제공합니다. 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist B-트리를 구현하는 GiST 인덱스 연산자 클래스를 제공합니다. 1.5 1.5 1.5 1.6 1.7 1.7

언어 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql PL/pgSQL 로드 가능 절차 언어. 1.0 1.0 1.0 1.0 1.0 1.0

기타 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck 관계 무결성을 확인하는 함수입니다. 1.1 1.2 1.2 1.3 1.3 1.3
dblink 데이터베이스 세션 내에서 다른 PostgreSQL 데이터베이스로의 연결을 지원하는 모듈입니다. 이 확장에 대한 정보는 "dblink 및 postgres_fdw" 섹션을 참조하세요. 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot old_snapshot_threshold를 구현하는 데 사용되는 서버 상태를 검사할 수 있습니다. 1.0 1.0 1.0
pageinspect 낮은 수준에서 데이터베이스 페이지의 콘텐츠를 검사합니다. 1.7 1.7 1.8 1.9 1.11 1.12
pg_azure_storage PostgreSQL에 대한 Azure 통합. 1.3 1.3 1.3 1.3
pg_buffercache 공유 버퍼 캐시에서 일어나는 작업을 실시간으로 검사하기 위한 수단을 제공합니다. 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron PostgreSQL용 작업 스케줄러입니다. 1.5 1.6 1.6 1.6 1.6 1.6
pg_freespacemap FSM(사용 가능한 공간 맵)을 검사합니다. 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm 관계 데이터를 버퍼 캐시에 로드하는 방법을 제공합니다. 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements 서버에서 실행되는 모든 SQL 문의 실행 통계를 추적하는 수단을 제공합니다. 이 확장에 대한 정보는 "pg_stat_statements" 섹션을 참조하세요. 1.6 1.7 1.8 1.9 1.10 1.10
pg_visibility VM(표시 유형 맵) 및 페이지 수준 표시 유형 정보를 검사합니다. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks 행 수준 잠금 정보를 표시하는 방법을 제공합니다. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple 튜플 수준 통계를 표시하는 방법을 제공합니다. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw 외부 PostgreSQL 서버에 저장된 데이터에 액세스하는 데 사용되는 외부 데이터 래퍼입니다. 이 확장에 대한 정보는 "dblink 및 postgres_fdw" 섹션을 참조하세요. 1.0 1.0 1.0 1.1 1.1 1.1
sslinfo TLS/SSL 인증서에 대한 정보입니다. 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows 행 수를 제한값으로 사용하는 TABLESAMPLE 메서드입니다. 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time 밀리초 단위의 시간을 제한값으로 사용하는 TABLESAMPLE 메서드입니다. 1.0 1.0 1.0 1.0 1.0 1.0
xml2 XPath 쿼리 및 XSLT입니다. 1.1 1.1 1.1 1.1 1.1 1.1

Pgvector 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Postgres에 대한 오픈 소스 벡터 유사성 검색 0.5.1 0.7.0 0.7.0 0.7.0 0.7.0 0.7.0

PostGIS 확장

내선 번호 설명 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS PostgreSQL에 대한 공간 및 지리적 개체입니다. 3.3.4 3.4.1 3.4.1 3.4.1 3.4.1 3.4.1
address_standardizer 주소를 구성 요소로 구문 분석하는 데 사용됩니다. 지오코딩 주소 정규화 단계를 지원하는 데 사용됩니다. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_sfcgal PostGIS SFCGAL 함수입니다. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_topology PostGIS는 토폴로지 공간 유형 및 함수입니다. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2

pg_stat_statements

pg_stat_statements 확장은 모든 Azure Cosmos DB for PostgreSQL 클러스터에 미리 로드되어 SQL 문의 실행 통계를 추적하는 수단을 제공합니다.

pg_stat_statements.track 설정은 확장에서 계산되는 문을 제어합니다. 기본적으로 top으로 설정되는데 이는 클라이언트에서 직접 실행한 모든 문이 추적되는 것을 의미합니다. 다른 두 가지 추적 수준은 noneall입니다.

pg_stat_statements를 통해 제공되는 쿼리 실행 정보와 각 SQL 문을 기록할 때 서버 성능에 미치는 영향 사이에는 상충 관계가 있습니다. pg_stat_statements 확장을 적극적으로 사용하지 않는 경우에는 pg_stat_statements.tracknone으로 설정하는 것이 좋습니다. 일부 타사 모니터링 서비스가 pg_stat_statements에 기반하여 쿼리 성능 인사이트를 제공할 수 있으므로 여기에 해당하는 경우인지 여부를 확인합니다.

dblink 및 postgres_fdw를 사용하여 한 PostgreSQL 서버에서 다른 PostgreSQL 서버로 또는 동일한 서버의 다른 데이터베이스로 연결할 수 있습니다. 받는 서버는 해당 방화벽을 통한 보내는 서버의 연결을 허용해야 합니다. 이 확장을 사용하여 공용 액세스가 있는 Azure Cosmos DB for PostgreSQL 클러스터 간에 연결하려면 Azure 서비스 및 리소스가 이 클러스터(또는 서버)에 액세스하도록 허용을 켜기로 설정합니다. 또한 확장을 사용하여 동일한 서버로 루프백하려는 경우 이 설정을 켜야 합니다. Azure 서비스 및 리소스가 이 클러스터에 액세스하도록 허용 설정은 클러스터에 대한 Azure Portal 페이지의 네트워킹 아래에서 찾을 수 있습니다. 현재 Azure Cosmos DB for PostgreSQL의 아웃바운드 연결은 지원되지 않습니다.

orafce 확장

utl_file 함수는 orafce 확장에서 사용하지 않도록 설정됩니다.

다음 단계