- 인쇄
- PDF
Extension
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
생성한 PostgreSQL의 Extension을 관리할 수 있습니다. Extension을 변경하면 Extension의 종류에 따라 전체 서비스에 적용되거나 선택한 Database에 적용됩니다. 일부 Extension의 경우 Extension을 변경하면 DB Server가 자동으로 재시작됩니다.
Extension 설치
Extension 설치하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for PostgreSQL 메뉴를 차례대로 클릭해 주십시오.
- DB Server 메뉴를 클릭해 주십시오.
- 관리할 PostgreSQL Server를 클릭한 다음 [DB 관리] 버튼을 클릭해 주십시오.
- [DB Service 상세보기] 를 클릭해 주십시오.
- DB Service 상세보기 화면이 나타나면 Extension 관리 탭을 클릭해 주십시오.
- Extension Name 드롭다운 목록에서 설치할 Extension을 선택해 주십시오.
- Database Name 드롭다운 목록에서 설치할 Database를 선택해 주십시오.
- passwordcheck처럼 모든 Database에 적용되는 Extension을 선택하는 경우 Database Name 드롭다운 목록이 비활성화됩니다.
- 설치된 Database에 cdb_admin 스키마가 별도로 생성되고 선택한 Extension이 설치됩니다.
- [설치] 버튼을 클릭해 주십시오.
- DB Server 재시작이 필요한 경우 DB Server 재시작 팝업 창이 표시됩니다.
- DB Server 재시작이 필요하지 않은 경우 Extension 설치 팝업 창이 표시됩니다.
- DB Server 재시작이 필요한 경우 DB Server 재시작 팝업 창이 표시됩니다.
- 팝업의 내용을 확인하고 [설치] 버튼을 클릭해 주십시오.
Extension 설정
Extension 설정 변경 방법은 기존의 DB config 설정 변경 방법과 같습니다. 자세한 사항은 DB config 관리를 참고해 주십시오.
설정 한 Config 값이 적합하지 않은 경우 Extension이 정상적으로 동작하지 않을 수 있습니다. Config 변수의 동작을 충분히 숙지한 후 Extension을 설정해 주십시오.
Extension 삭제
Extension을 삭제하는 방법은 다음과 같습니다.
네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for PostgreSQL 메뉴를 차례대로 클릭해 주십시오.
DB Server 메뉴를 클릭해 주십시오.
관리할 PostgreSQL Server를 클릭한 다음 [DB 관리] 버튼을 클릭해 주십시오.
[DB Service 상세보기] 를 클릭해 주십시오.
DB Service 상세보기 화면이 나타나면 Extension 관리 탭을 클릭해 주십시오.
Extension 관리 페이지에서 삭제할 Extension 우측의 [삭제] 버튼을 클릭해 주십시오.
- DB Server 재시작이 필요하지 않은 경우 Extension 삭제 팝업 창이 표시됩니다.
- DB Server 재시작이 필요한 경우 Extension 삭제 및 DB Server 재시작 팝업 창이 표시됩니다.
- DB Server 재시작이 필요하지 않은 경우 Extension 삭제 팝업 창이 표시됩니다.
팝업 창의 내용을 읽고 팝업창에서 '확인했습니다'에 체크 후 [삭제] 버튼을 클릭해 주십시오.
Extension 사용
Extension을 사용하는 방법은 다음과 같습니다.
Extension 사용: 콘솔을 통해 설치된 Extension
- superuser 권한이 필요한 extension의 경우 콘솔을 통해서만 설치 할 수 있습니다.
- 해당 extension은 별도 스키마인 cdb_admin을 제공하며, 해당 스키마 하위에 설치됩니다.
- 설치 후 session level에서 cdb_admin 스키마를 search_path에 추가하거나 명시적으로 cdb_admin.{extension_object} 형태로 사용하십시오.
search_path를 이용하는 예시는 아래와 같습니다.
show search_path;
set search_path = "$user", public, cdb_admin;
create table cdb_test (val vector(3));
select userid from pg_stat_statements limit 1;
명시적으로 사용하는 예시는 아래와 같습니다.
create table cdb_test (val cdb_admin.vector(3));
select userid from cdb_admin.pg_stat_statements limit 1;
지원 Extension 목록
네이버 클라우드 플랫폼의 Cloud DB for PostgreSQL 서비스에서 지원하는 Extension 목록은 다음과 같습니다.
네이버 클라우드 플랫폼 콘솔에서 설치할 수 있는 Extension은 다음과 같습니다.
Extension 이름 | 설명 | 재시작 필요 | 설치 범위 | 공식 홈페이지 |
---|---|---|---|---|
pgvector | vector에 대한 type과 연산을 제공 | O | Database | https://github.com/pgvector/pgvector: |
pg_stat_statements | 수행된 SQL statements에 대한 통계 제공 | X | Database | https://www.postgresql.org/docs/current/pgstatstatements.html: |
passwordcheck | CREATE ROLE 혹은 ALTER ROLE 수행 시 User의 password를 검사하여 취약한 경우 에러 리턴 | O | 전체 서비스 | https://www.postgresql.org/docs/current/passwordcheck.html: |
재시작 필요로 표기된 Extension은 서비스 레벨에서 최초 설치 혹은 마지막 삭제 시 자동으로 재시작됩니다.
사용자가 직접 설치할 수 있는 Extension 목록은 다음과 같습니다. 사용자가 직접 설치할 수 있는 Extension은 superuser 권한이 요구되지 않으므로 사용자가 직접 Extension을 생성할 수 있습니다.
- btree_gin
- btree_gist
- citext
- cube
- dict_int
- fuzzystrmatch
- hstore
- intarray
- isn
- lo
- ltree
- pg_trgm
- pgcrypto
- seg
- tablefunc
- tcn
- tsm_system_rows
- tsm_system_time
- unaccent
- uuid-ossp
사용자가 직접 Extension을 생성하는 방법은 다음과 같습니다.
psql -h {ip} -p {port} -d {db name} -U {user name}
create extension "uuid-ossp" with {schema name};