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. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 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_adminpostgres 역할만 출력에 표시됩니다. 자세한 내용은 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_tleshared_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을 사용하여 신뢰할 수 있는 언어 확장 생성 섹션을 참조하세요.