이 섹션에는 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 데이터베이스에서 벡터 임베딩을 저장하고 검색할 수 있는 오픈소스 확장 프로그램입니다. |