Extension
    • PDF

    Extension

    • PDF

    기사 요약

    VPC 환경에서 이용 가능합니다.

    생성한 PostgreSQL의 Extension을 관리할 수 있습니다. Extension을 변경하면 Extension의 종류에 따라 전체 서비스에 적용되거나 선택한 Database에 적용됩니다. 일부 Extension의 경우 Extension을 변경하면 DB Server가 자동으로 재시작 됩니다.

    Extension 설치

    Extension 설치하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for PostgreSQL 메뉴를 차례대로 클릭해 주십시오.
    2. DB Server 메뉴를 클릭해 주십시오.
    3. 관리할 PostgreSQL Server를 클릭한 다음 [DB 관리] 버튼을 클릭해 주십시오.
    4. [DB Service 상세보기] 를 클릭해 주십시오.
    5. DB Service 상세보기 화면이 나타나면 Extension 관리 탭을 클릭해 주십시오.
      clouddbforpostgresql-extension-1-1
    6. Extension Name 드롭다운 목록에서 설치할 Extension을 선택해 주십시오.
    7. Database Name 드롭다운 목록에서 설치할 Database를 선택해 주십시오.
    • 'passwordcheck'처럼 모든 Database에 적용되는 Extension을 선택하는 경우 Database Name 드롭다운 목록이 비활성화됩니다.
    • 설치된 Database에 cdb_admin 스키마가 별도로 생성되고 선택한 Extension이 설치됩니다.
    1. [설치] 버튼을 클릭해 주십시오.

      • DB Server 재시작이 필요한 경우 DB Server 재시작 팝업 창이 표시됩니다.
        clouddbforpostgresql-extension-1-2

      • DB Server 재시작이 필요하지 않은 경우 Extension 설치 팝업 창이 표시됩니다.
        clouddbforpostgresql-extension-1-3

    2. 팝업 창의 내용을 읽고 팝업창에서 '확인했습니다'에 체크 후 [삭제] 버튼을 클릭해 주십시오.

    Extension 사용

    Extension을 사용하는 방법은 다음과 같습니다.

    Extension 사용: 콘솔을 통해 설치된 Extension

    • superuser 권한이 필요한 extension의 경우 콘솔을 통해서만 설치할 수 있습니다.
    • 해당 extension은 별도 스키마인 "cdb_admin"을 제공하며, 해당 스키마 하위에 설치됩니다.
    • 설치 후 session level에서 "cdb_admin" schema를 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 이름설명재시작 필요설치 범위공식 홈페이지
    pgvectorvector에 대한 type과 연산을 제공ODatabasehttps://github.com/pgvector/pgvector
    pg_stat_statements수행된 SQL statements에 대한 통계 제공XDatabasehttps://www.postgresql.org/docs/current/pgstatstatements.html
    passwordcheckCREATE 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};
    

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.