View a markdown version of this page

RDS for PostgreSQL DB 인스턴스에서 신뢰할 수 있는 언어 확장 설정 - Amazon Relational Database Service

RDS for PostgreSQL DB 인스턴스에서 신뢰할 수 있는 언어 확장 설정

다음 단계에서는 사용자의 RDS for PostgreSQL DB 인스턴스가 사용자 지정 DB 파라미터 그룹에 연결되어 있다고 가정합니다. 이러한 단계에 AWS Management Console 또는 AWS CLI를 사용할 수 있습니다.

RDS for PostgreSQL DB 인스턴스에 신뢰할 수 있는 언어 확장을 설정하는 경우 특정 데이터베이스 권한이 있는 데이터베이스 사용자가 사용할 수 있도록 특정 데이터베이스에 설치합니다.

신뢰할 수 있는 언어 확장 설정 방법

rds_superuser 그룹(역할)의 구성원인 계정을 사용하여 다음 단계를 수행합니다.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 RDS for PostgreSQL DB 인스턴스를 선택합니다.

  3. 의 구성 탭을 엽니다. RDS for PostgreSQL DB 인스턴스 인스턴스 세부 정보 중에서 파라미터 그룹 링크를 찾습니다.

  4. 링크를 선택하여 와 연결된 사용자 지정 파라미터를 엽니다. RDS for PostgreSQL DB 인스턴스

  5. 파라미터 검색 필드에 shared_pre를 입력하여 shared_preload_libraries 파라미터를 찾습니다.

  6. 파라미터 편집을 선택하여 속성 값에 액세스합니다.

  7. 값 필드의 목록에 pg_tle를 추가합니다. 쉼표를 사용하여 값 목록에서 항목을 구분합니다.

    pg_tle가 추가된 shared_preload_libraries 파라미터.
  8. RDS for PostgreSQL DB 인스턴스를 재부팅하여 shared_preload_libraries 파라미터 변경 사항이 적용되도록 합니다.

  9. 인스턴스를 사용할 수 있게 되면 pg_tle가 초기화되었는지 확인합니다. psql을 사용하여 RDS for PostgreSQL DB 인스턴스에 연결하고 다음 명령을 실행합니다.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
  10. pg_tle 확장이 초기화되었으므로 이제 확장을 생성할 수 있습니다.

    CREATE EXTENSION pg_tle;

    다음 psql 메타 명령을 사용하여 확장이 설치되었는지 확인할 수 있습니다.

    labdb=> \dx List of installed extensions Name | Version | Schema | Description ---------+---------+------------+-------------------------------------------- pg_tle | 1.0.1 | pgtle | Trusted-Language Extensions for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
  11. PostgreSQL DB 인스턴스를 설정할 때 RDS for PostgreSQL DB 인스턴스를 위해 만든 기본 사용자 이름에 pgtle_admin 역할을 부여합니다. 기본값을 수락했다면 postgres입니다.

    labdb=> GRANT pgtle_admin TO postgres; GRANT ROLE

    다음 예제와 같이 psql 메타 명령을 사용하여 역할이 부여되었는지 확인할 수 있습니다. pgtle_admin 및postgres 역할만 출력에 표시됩니다. 자세한 내용은 rds_superuser 역할 이해. 섹션을 참조하세요.

    labdb=> \du List of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...
  12. \q 메타 명령을 사용하여psql 세션을 닫습니다.

    \q

TLE 확장 생성을 시작하려면 예: SQL을 사용하여 신뢰할 수 있는 언어 확장 생성 섹션을 참조하세요.

기본 AWS 리전으로 AWS CLI를 구성하면 CLI 명령을 사용할 때 --region 인수를 지정하지 않아도 됩니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 구성 기초 섹션을 참조하세요.

신뢰할 수 있는 언어 확장 설정 방법
  1. modify-db-parameter-group AWS CLI 명령을 사용하여 pg_tle를 shared_preload_libraries 파라미터에 추가합니다.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --region aws-region
  2. reboot-db-instance AWS CLI 명령을 사용하여 RDS for PostgreSQL DB 인스턴스를 재부팅하고 pg_tle 라이브러리를 초기화합니다.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. 인스턴스를 사용할 수 있게 되면 pg_tle가 초기화되었는지 확인할 수 있습니다. psql을 사용하여 RDS for PostgreSQL DB 인스턴스에 연결하고 다음 명령을 실행합니다.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)

    pg_tle이 초기화되었으므로 이제 확장을 생성할 수 있습니다.

    CREATE EXTENSION pg_tle;
  4. PostgreSQL DB 인스턴스를 설정할 때 RDS for PostgreSQL DB 인스턴스를 위해 만든 기본 사용자 이름에 pgtle_admin 역할을 부여합니다. 기본값을 수락했다면 postgres입니다.

    GRANT pgtle_admin TO postgres; GRANT ROLE
  5. 다음과 같이 psql 세션을 닫습니다.

    labdb=> \q

TLE 확장 생성을 시작하려면 예: SQL을 사용하여 신뢰할 수 있는 언어 확장 생성 섹션을 참조하세요.