PostgreSQL 확장 관리
PostgreSQL에서 확장기능은 추가 기능, 연산자 또는 유형을 제공하는 모듈입니다. IBM Cloud® Databases for PostgreSQL에서 많은 확장기능을 사용할 수 있습니다. 이를 사용하려면 서비스에 관리자 비밀번호 설정 을 추가하고 psql
으로 연결하기 에 사용하세요.
설치된 확장기능 나열
\dx
명령을 사용하여 데이터베이스에 설치된 모든 확장기능의 목록을 가져오십시오.
예를 들어, Databases for PostgreSQL 기본 데이터베이스에서 실행하는 경우 \dx
의 출력에는 설치된 확장기능만 표시됩니다.
ibmclouddb=> \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(1 row)
확장기능 설치
데이터베이스에 확장 프로그램을 설치하려면 CREATE EXTENSION
. 예를 들어 ibmclouddb
데이터베이스에 pg_stat_statements
을 설치하려면 다음 명령을
사용합니다:
ibmclouddb=> CREATE EXTENSION pg_stat_statements;
CREATE EXTENSION
확장 프로그램은 읽기 전용 ibm_extension
스키마에 설치됩니다. 스키마는 search_path
의 일부이므로 확장 개체는 스키마로 정규화할 필요가 없습니다. 데이터의 보안과 무결성을 보호하기 위해 public
스키마에서 ibm_extension
스키마로 변경하는 것이 필요합니다.
확장기능을 설치한 후 \dx
명령을 실행하면 확장기능이 테이블에 표시됩니다.
ibmclouddb=> \dx
List of installed extensions
Name | Version | Schema | Description
--------------------+---------+---------------+-----------------------------------------------------------
pg_stat_statements | 1.5 | ibm_extension | track execution statistics of all SQL statements executed
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 rows)
PostgreSQL의 데이터베이스 확장기능은 데이터베이스별로 관리됩니다. 확장 프로그램을 설치해야 하는 데이터베이스가 여러 개 있는 경우 각 데이터베이스에서 CREATE
명령을 실행합니다.
확장기능 업그레이드
현재 설치된 것보다 새 버전의 확장기능이 사용 가능한 경우 ALTER EXTENSION
을 사용하여 업그레이드하십시오.
확장기능 관련 참고사항
pg_repack
-
pg_repack
명령을 실행할 때 -k 플래그를 전달하여 수퍼유저 확인을 우회합니다. 다음 예를 참조하십시오.pg_repack -k [OPTION]... [DBNAME]
-
pg_repack
을 안전하게 실행하려면 배치가 PostgreSQL 9.6 이상이어야 합니다. -
모든 사용자가
pg_repack
을 실행할 수 있지만 이 명령은 권한이 있는 테이블만 다시 압축할 수 있습니다. -
pg_repack
은 재구성이 종료될 때 재구성 중인 오브젝트에 대해 배타적 잠금을 수행해야 합니다. 특정 기간 후에 이 잠금을 얻을 수 없으면 충돌하는 모든 조회를 취소합니다. 이를 수행할 수 없으면 재구성이 실패합니다. 기본적으로 PostgreSQL 9.6 이상의 admin 사용자만 충돌하는 조회를 취소할 수 있습니다. 다른 데이터베이스 사용자에게 쿼리 취소 기능을 노출하려면pg_signal_backend
역할 관리자 사용자로부터 을 부여하세요.
pgaudit
pgaudit
라이브러리는 미리 로드되어 있으며create extension pgaudit
을 실행할 필요가 없습니다. 자세한 내용은 pgAudit 로깅을 사용하여 pgaudit 로그를 활성화하는 방법을 참조하세요.
pgvector
- 배포에
pgvector
확장자를 추가하려면create extension vector
명령을 사용합니다. - PostgreSQL 중요:
pgvector
버전 15 이상이 필요합니다.
사용 가능한 확장기능
사용 가능한 모든 확장 프로그램 목록을 보려면 다음을 참조하십시오. 배치에서 사용 가능한 확장기능의 목록을 보려면 SELECT name FROM pg_available_extensions;
에서 psql
를 사용하십시오.
ibmclouddb=> SELECT name FROM pg_available_extensions order by 1;
name
------------------------------
address_standardizer
address_standardizer_data_us
amcheck
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
insert_username
intagg
intarray
isn
lo
ltree
moddatetime
old_snapshot
pageinspect
pg_buffercache
pg_freespacemap
pg_prewarm
pg_repack
pg_stat_statements
pg_surgery
pg_trgm
pg_visibility
pg_walinspect
pgaudit
pgcrypto
pgrouting
pgrowlocks
pgstattuple
plpgsql
postgis
postgis_raster
postgis_tiger_geocoder
postgis_topology
postgres_fdw
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
xml2
(55 rows)
ibmclouddb=> select version();
version
----------------------------------------------------------------------------------------------------------
PostgreSQL 16.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-2), 64-bit
(1 row)