데이터베이스 확장 프로그램 구성

이 섹션에는 Database Service에서 지원하는 데이터베이스 확장 프로그램을 구성하는 방법에 대한 정보가 포함되어 있습니다.

확장 프로그램 설치

확장 프로그램은 기본 DBCluster에만 설치할 수 있습니다. 설치 후 확장 프로그램은 대기 인스턴스에 복제됩니다.

대부분의 확장 프로그램은 데이터베이스 클러스터에 연결하고 CREATE EXTENSION 명령어를 실행하여 직접 설치할 수 있습니다.

하지만 추가 구성이 필요한 확장 프로그램이 몇 개 있으므로 사용자는 데이터베이스 플래그를 설정하고("dbs.enable_<extension-name>": "on") 데이터베이스 클러스터에 연결한 후 CREATE EXTENSION 명령어를 실행해야 합니다.

cloudsqlsuperuser 또는 alloydbsuperuser 역할의 구성원인 데이터베이스 사용자만 CREATE EXTENSION 명령어를 실행할 수 있습니다. 기본적으로 여기에는 dbsadmin 사용자가 포함됩니다.

확장 프로그램 삭제

확장 프로그램을 삭제하려면 삭제를 시도하는 데이터베이스 사용자가 확장 프로그램의 소유자여야 합니다. 이는 처음에 확장 프로그램을 만든 데이터베이스 사용자만 삭제할 권한이 있음을 의미합니다. 다른 데이터베이스 사용자는 확장 프로그램을 삭제할 수 없으므로 확장 프로그램의 관리가 제어됩니다.

지원되는 데이터베이스 확장 프로그램

다음 표에는 지원되는 모든 확장 프로그램이 나열되어 있습니다.

확장 프로그램 PostgreSQL에 포함됨 AlloyDB Omni에 포함됨 설명
address_standardizer 주소를 구성요소로 파싱하는 데 사용됩니다. 일반적으로 주소 지오코딩 정규화 단계를 지원하는 데 사용됩니다.
address_standardizer_data_us Address Standardizer 미국 데이터 세트 예시
alloydb_ai_nl AlloyDB AI 및 자연어용 Google 확장 프로그램
amcheck pg_amcheck 애플리케이션이 손상을 확인할 수 있도록 관계 구조의 논리적 일관성을 확인하는 함수를 제공합니다.
anon PostgreSQL 데이터베이스에서 개인 식별 정보 (PII) 또는 민감한 정보를 마스킹하거나 바꿉니다.
autonic 필드를 자동으로 증가시키는 함수를 제공합니다.
bloom bloom 필터를 기반으로 색인에 액세스하는 메서드를 제공합니다. bloom 필터는 요소가 집합의 구성원인지 여부를 테스트하는 데 사용할 수 있는 공간 효율적인 데이터 구조입니다.
btree_gin B-tree와 동등한 동작을 구현하는 샘플 GIN 연산자 클래스를 제공합니다.
btree_gist B-tree와 동등한 동작을 구현하는 GiST 색인 연산자 클래스를 제공합니다.
citext 대소문자를 구분하지 않는 문자열 유형 citext를 제공합니다.
cube 다차원 큐브를 나타내는 데이터 유형 큐브를 구현합니다.
dblink 데이터베이스 세션 내에서 PostgreSQL 데이터베이스에 연결하는 기능을 제공합니다.
dict_int 전체 텍스트 검색을 위한 부가기능 사전 템플릿으로 정수 색인 생성을 제어합니다.
dict_xsyn 확장된 동의어 처리를 위한 텍스트 검색 사전 템플릿
earthdistance 지구 표면에서 대원 거리를 계산하는 두 가지 접근법을 제공합니다.
fuzzystrmatch 문자열 간의 유사점과 거리를 확인하는 여러 기능을 제공합니다.
google_columnar_engine HTAP (하이브리드 트랜잭션 분석 처리) 및 OLAP (온라인 분석 처리) 워크로드를 매우 효율적으로 처리하는 AlloyDB의 열 형식 엔진 기능을 제공합니다.
google_db_advisor 쿼리 처리 속도를 높이기 위해 색인을 추천하는 AlloyDB의 색인 도우미 기능을 제공합니다.
google_ml_integration SQL에서 예측을 가져오기 위해 Vertex AI 엔드포인트에 액세스하는 데 사용하는 함수를 제공합니다.
postgresql-hll 집합의 카디널리티를 추정하는 HyperLogLog (hll) 데이터 구조를 제공합니다.
hstore 단일 PostgreSQL 값 내에서 키-값 쌍 조합을 저장하기 위한 hstore 데이터 유형을 구현합니다.
hypopg 가상 색인을 지원합니다.
insert_username 현재 사용자의 이름을 텍스트 필드에 저장하는 함수를 제공합니다. 이 함수를 사용하여 데이터베이스 테이블의 행을 마지막으로 수정한 사용자를 추적할 수 있습니다.
intagg 정수 애그리게이터와 에뮬레이터를 제공합니다.
intarray null이 없는 정수 배열을 조작하고 이에 대한 색인이 생성된 검색을 수행하는 데 필요한 함수 및 연산자 세트를 제공합니다.
ip4r IPv4/v6 주소의 데이터 유형, 주소 범위, 색인 지원을 제공합니다.
isn 일부 국제 제품 번호 지정 표준에 대한 데이터 유형을 제공합니다.
lo 대형 객체(LO 또는 BLOB) 관리를 지원합니다.
ltree 계층 트리 구조에 저장된 데이터 라벨을 나타내는 데이터 유형 ltree를 구현합니다.
moddatetime 현재 시간을 timestamp 필드에 저장하는 함수를 제공합니다. 이를 사용하여 데이터베이스 테이블의 행이 마지막으로 수정된 시간을 추적할 수 있습니다.
orafce Oracle 데이터베이스의 함수와 패키지의 하위 집합을 에뮬레이션하는 함수와 연산자를 제공합니다. 이러한 함수를 사용하여 Oracle 애플리케이션을 PostgreSQL로 포팅합니다.
pageinspect 하위 수준에서 데이터베이스 페이지의 콘텐츠를 검사합니다.
pg_bigm 전체 텍스트 검색을 사용 설정하고 빠른 전체 텍스트 검색을 위해 2그램 (bigram) 색인을 허용합니다.
pg_buffercache 공유 버퍼 캐시의 변경사항을 실시간으로 검사하는 수단을 제공합니다.
pg_cron 크론 기반 작업 스케줄러를 제공합니다. 이 확장 프로그램은 데이터베이스에서 직접 PostgreSQL 명령어를 예약하도록 크론 구문을 사용 설정합니다.
pg_freespacemap 여유 공간 맵(FSM)을 검사합니다.
pg_hint_plan SQL 주석의 설명인 힌트를 사용해서 PostgreSQL 실행 계획을 향상시킬 수 있습니다.
pg_partman 시간 기반 및 직렬 기반 테이블 파티션 모음을 만들고 관리할 수 있습니다.
pg_prewarm 관계 데이터를 운영체제 버퍼 캐시나 PostgreSQL 버퍼 캐시로 편리하게 로드하는 방법을 제공합니다.
pg_proctab pg_top을 사용하고 운영체제 프로세스 테이블에서 보고서를 생성할 수 있습니다.
pg_repack 테이블 및 색인에서 블로트를 제거할 수 있습니다. 원하는 경우 온라인 CLUSTER(클러스터 색인별로 테이블 정렬)를 수행할 수 있습니다.
pg_similarity PostgreSQL에서 유사성 쿼리를 지원합니다.
pg_squeeze 테이블에서 사용되지 않은 공간을 삭제하고 원하는 경우 색인을 사용하여 테이블의 레코드 또는 행(튜플)을 정렬합니다.
pg_stat_statements 실행된 모든 SQL 문 실행 통계를 추적하는 수단을 제공합니다.
pg_trgm 빠른 유사 문자열 검색을 지원하는 인덱스 연산자 클래스뿐 아니라 트라이그램 매칭을 기반으로 하는 영숫자 텍스트의 유사성을 결정하는 데 필요한 함수와 연산자를 제공합니다.
pg_visibility 테이블의 가시성 지도(VM) 및 페이지 수준의 가시성 정보를 검사할 수 있는 방법을 제공합니다.
pg_wait_sampling 대기 이벤트의 샘플링 통계를 수집하고 서버 프로세스에 대해 대기 이벤트 데이터를 제공합니다.
pgaudit PostgreSQL에서 제공하는 표준 로깅 기능을 사용하여 세션 및 객체 감사 로깅을 자세히 제공합니다.
pgcrypto PostgreSQL의 암호화 기능을 제공합니다.
pgfincore PostgreSQL에서 운영체제 디스크 캐시 메모리의 페이지를 관리하는 함수 집합입니다.
pglogical PostgreSQL의 논리 복제를 제공합니다.
pgrouting PostGIS를 확장하여 네트워크 라우팅 및 분석을 통해 지리정보 처리를 지원합니다.
pgrowlocks 지정된 테이블에 대한 행 잠금 정보를 제공합니다.
pgstattuple 튜플 수준 통계를 얻기 위한 다양한 함수를 제공합니다.
pgtap PL/pgSQL 및 PL/SQL로 작성된 PostgreSQL용 단위 테스트 프레임워크를 제공합니다.
pgtt 데이터베이스에 전역 임시 테이블 지원을 추가합니다.
plpgsql 함수, 절차, 트리거를 만들기 위한 로드 가능한 절차적 언어입니다. DO 블록에서 코드를 직접 실행하는 데 이 언어를 사용할 수도 있습니다.
plproxy PostgreSQL 데이터베이스 간에 리모트 프로시져 콜을 허용하는 프로시져 언어 핸들러이며, 선택 사항인 샤딩이 있습니다.
plv8 JavaScript를 사용 설정하기 위한 절차적 언어를 제공합니다.
postgis PostGIS geometry 및 geography 공간 유형 및 함수
postgres_ann PostgreSQL ANN 검색
postgis_raster PostGIS 래스터 유형 및 함수
postgis_sfcgal PostGIS SFCGAL 함수
postgis_tiger_geocoder PostGIS tiger 지오코더 및 역 지오코더
postgis_topology PostGIS 토폴로지 공간 유형 및 함수
postgres_fdw 인스턴스 내에서 또는 인스턴스 간에 외부 데이터 래퍼를 만들 수 있습니다.
프리픽스 프리픽스 일치와 색인 지원을 제공합니다.
rdkit 분자 구조를 비교, 조작, 식별하는 기능을 제공합니다.
refint 외래 키 제약 조건, 참조하는 테이블, 참조되는 테이블을 확인하는 함수가 포함됩니다.
sslinfo 현재 클라이언트가 인스턴스에 연결할 때 제공한 SSL 인증서에 대한 정보를 제공합니다.
tablefunc 테이블(여러 행)을 반환하는 다양한 함수를 포함합니다.
tcn 리스너에 데이터베이스 테이블의 콘텐츠 변경사항을 알리는 트리거 함수를 제공합니다.
temporal_tables 임시 테이블을 지원합니다. 임시 테이블은 데이터베이스 관점에서 행이 유효한 기간을 기록합니다.
tsm_system_rows SELECT 명령어의 TABLESAMPLE 절에서 사용할 수 있는 테이블 샘플링 메서드인 SYSTEM_ROWS를 제공합니다.
tsm_system_time SELECT 명령어의 TABLESAMPLE 절에서 사용할 수 있는 테이블 샘플링 메서드인 SYSTEM_TIME를 제공합니다.
unaccent 어휘소에서 악센트(발음 구별 기호)를 제거하는 텍스트 검색 사전입니다.
uuid-ossp 여러 표준 알고리즘 중 하나를 사용하여 범용 고유 식별자(UUID)를 생성하는 기능을 제공합니다.
pgvector PostgreSQL 데이터베이스에서 벡터 임베딩을 저장하고 검색할 수 있는 오픈소스 확장 프로그램입니다.