지원되는 확장 목록은 Amazon RDS 사용 설명서를 확인하십시오. 다른 확장에 대한 지원을 요청하려면 확장 이름 및 사용 사례와 함께 rds-postgres-extensions-request@amazon.com으로 이메일을 보내시기 바랍니다.
Trusted Language Extensions for PostgreSQL
Q: Trusted Language Extensions for PostgreSQL을 사용해야 하는 이유는 무엇인가요?
Trusted Language Extensions(TLE) for PostgreSQL을 사용하면 개발자가 고성능 PostgreSQL 확장 프로그램을 구축하고 Amazon RDS에서 안전하게 실행할 수 있습니다. 이를 통해 TLE는 출시 시간을 단축하고, 프로덕션 데이터베이스 워크로드에 사용할 사용자 지정 및 서드 파티 코드를 인증해야 하는 데이터베이스 관리자의 부담을 덜어줍니다. 확장이 요구 사항을 충족한다고 판단되는 즉시 사용을 시작할 수 있습니다. TLE을 사용하면 독립 소프트웨어 개발 판매 회사(ISV)가 새로운 PostgreSQL 확장 프로그램을 고객에게 제공하고 이를 Amazon RDS에서 실행할 수 있습니다.
Q: PostgreSQL에서 확장 프로그램을 실행할 때 기존의 위험은 무엇이고 TLE for PostgreSQL은 이 위험을 어떻게 완화하나요?
PostgreSQL 확장 프로그램은 고성능을 제공하기 위해 동일한 프로세스 공간에서 실행됩니다. 그러나 확장 프로그램에 소프트웨어 결함이 있는 경우 데이터베이스가 충돌할 수 있습니다.
TLE for PostgreSQL은 여러 계층의 보호를 통해 이 위험을 완화합니다. TLE는 시스템 리소스에 대한 액세스를 제한하도록 설계되었습니다. rds_superuser 역할은 특정 확장 프로그램을 설치할 수 있는 사용자를 결정할 수 있습니다. 그러나 이러한 변경 사항은 TLE API를 통해서만 수행될 수 있습니다. TLE는 확장 프로그램의 결함이 미치는 영향을 단일 데이터베이스 연결로 제한합니다. 이러한 보호 장치에 더해 TLE는 rds_superuser 역할의 DBA에게 세분화된 온라인 제어를 제공하도록 설계되었습니다. 이 DBA는 확장 프로그램을 설치할 수 있는 사용자를 제어할 수 있고 확장 프로그램의 실행을 위한 권한 모델을 생성할 수 있습니다. 충분한 권한이 있는 사용자만 TLE 확장 프로그램에서 ‘CREATE EXTENSION’ 명령을 사용하여 확장 프로그램을 실행하고 생성할 수 있습니다. 또한, DBA는 데이터베이스의 내부 동작을 수정하고 일반적으로 에스컬레이션된 권한이 요구되는 보다 정교한 확장 프로그램에 필요한 ‘PostgreSQL 후크’를 허용 목록에 추가할 수 있습니다.
Q: TLE for PostgreSQL은 다른 AWS 서비스와 어떻게 연관되고 연동되나요?
TLE for PostgreSQL은 Amazon RDS on PostgreSQL의 경우 버전 14.5 이상에서 사용할 수 있습니다. TLE는 PostgreSQL 확장 프로그램 자체로 구현되었으며 사용자는 Amazon RDS에서 지원하는 기타 확장 프로그램과 유사하게 rds_superuser 역할에서 이를 활성화할 수 있습니다.
Q: TLE for PostgreSQL을 실행할 수 있는 PostgreSQL 버전은 무엇인가요?
TLE for PostgreSQL은 Amazon RDS에서 PostgreSQL 14.5 이상으로 실행할 수 있습니다.
Q: Trusted Language Extensions for PostgreSQL은 어떤 리전에서 사용할 수 있나요?
TLE for PostgreSQL은 현재 AWS 중국 리전을 제외한 모든 AWS 리전과 AWS GovCloud 리전에서 사용할 수 있습니다.
Q: TLE를 실행하는 데 드는 비용은 얼마인가요?
TLE for PostgreSQL은 Amazon RDS 고객의 경우 추가 비용 없이 제공됩니다.
Q: TLE for PostgreSQL은 현재 Amazon Aurora 및 Amazon RDS에서 사용할 수 있는 확장 프로그램과 어떻게 다른가요?
Aurora 및 Amazon RDS는 85개가 넘는 엄선된 PostgreSQL 확장 프로그램 세트를 지원합니다. AWS는 AWS Shared Responsibility Model에 따라 이러한 각 확장 프로그램의 보안 위험을 관리합니다. TLE for PostgreSQL을 구현하는 확장 프로그램은 이 세트에 포함됩니다. 서드 파티 소스를 사용하여 작성하거나 서드 파티 소스에서 가져와서 TLE에 설치하는 확장 프로그램은 사용자 애플리케이션 코드의 일부로 간주됩니다. TLE 확장 프로그램을 사용하는 애플리케이션의 보안은 사용자의 책임입니다.
Q: TLE for PostgreSQL과 함께 실행할 수 있는 확장 프로그램의 예로는 어떤 것이 있나요?
비트맵 압축 및 차등 개인 정보 보호(예: 개인의 개인 정보를 보호하는 공개 액세스 가능한 통계 쿼리)와 같은 개발자 함수를 구축할 수 있습니다.
Q: TLE for PostgreSQL을 개발할 때 사용할 수 있는 프로그래밍 언어는 무엇인가요?
TLE for PostgreSQL은 현재 JavaScript, PL/pgSQL, Perl 및 SQL을 지원합니다.
Q: TLE for PostgreSQL 확장 프로그램을 배포하려면 어떻게 해야 하나요?
rds_superuser 역할이 TLE for PostgreSQL을 활성화하면, psql과 같은 모든 PostgreSQL 클라이언트에서 SQL CREATE EXTENSION 명령을 사용하여 TLE 확장 프로그램을 배포할 수 있습니다. 이 방법은 프로시저 언어(예: PL/pgSQL 또는 PL/Perl)로 작성된 사용자 정의 함수를 생성하는 방법과 유사합니다. 관리자는 TLE 확장 프로그램을 배포하고 특정 확장 프로그램을 사용할 권한이 있는 사용자를 제어할 수 있습니다.
Q: TLE for PostgreSQL 확장 프로그램은 PostgreSQL 데이터베이스와 어떻게 통신하나요?
TLE for PostgreSQL은 TLE API를 통해서만 PostgreSQL 데이터베이스에 액세스합니다. TLE가 지원되는 신뢰할 수 있는 언어에는 PostgreSQL 서버 프로그래밍 인터페이스(SPI)의 모든 함수가 포함되며, 암호 확인 후크를 포함한 PostgreSQL 후크를 지원합니다.
Q: TLE for PostgreSQL 오픈 소스 프로젝트에 대해 자세한 내용은 어디에서 확인할 수 있나요?
공식 TLE GitHub 페이지에서 TLE for PostgreSQL에 대해 자세히 알아볼 수 있습니다.