View a markdown version of this page

rds_tools 함수 참조 - Amazon Aurora

rds_tools 함수 참조

rds_tools 확장은 Aurora PostgreSQL DB 인스턴스를 관리하고 모니터링하기 위한 유틸리티 함수 세트를 제공합니다. 이러한 함수를 사용하면 별도의 모니터링 도구 없이 SQL에서 직접 복제, vacuum 및 구성 문제를 진단할 수 있습니다. 이러한 함수들은 표준 PostgreSQL 함수 외에 추가로 제공되는 것입니다. 표준 PostgreSQL 함수에 대한 자세한 내용은 PostgreSQL 설명서에서 Functions and Operators를 참조하세요.

이 섹션에서는 Aurora PostgreSQL에서 사용할 수 있는 rds_tools 함수를 설명합니다. 각 함수의 설명에는 해당 함수를 사용할 수 있게 된 rds_tools 확장 버전이 명시되어 있습니다.

확장을 생성하려면 다음 명령을 실행합니다.

postgres=> CREATE EXTENSION rds_tools; CREATE EXTENSION

rds_tools.role_password_encryption_type

각 데이터베이스 역할에 사용되는 암호 암호화 방법을 반환합니다. 이 집합 반환 함수는 RDS로 보호되는 시스템 역할은 출력에서 제외합니다. rds_tools 확장 버전 1.0부터 사용할 수 있습니다.

데이터베이스 사용자를 SCRAM으로 마이그레이션하기 전에 이 함수를 사용하여 암호 암호화 방식을 검토하는 예제는 SCRAM for PostgreSQL 암호 암호화 사용 섹션을 참조하세요.

함수 프로토타입

rds_tools.role_password_encryption_type()

인수

없음.

출력

  • rolname - 데이터베이스 역할의 이름입니다.

  • encryption_type - 사용되는 암호 암호화 방법(md5 또는 scram-sha-256)입니다.

사용 예

=> SELECT * FROM rds_tools.role_password_encryption_type(); rolname | encryption_type ---------------+----------------- postgres | md5 app_user | md5 readonly_user | scram-sha-256 (3 rows)

rds_tools.postgres_get_av_diag

차단 상태이거나 지연되고 있는 autovacuum 프로세스에 관한 진단 정보와 각 문제를 해결하기 위한 제안 사항을 반환합니다. 정확한 결과를 얻으려면 트랜잭션 ID가 가장 오래된 데이터베이스에서 이 집합 반환 함수를 실행하세요. 자세한 정보는 공격적인 vacuum 블로커 식별 및 해결을 참조하세요.

rds_tools 확장 버전 1.9부터 사용할 수 있습니다.

함수 프로토타입

rds_tools.postgres_get_av_diag()

인수

없음.

출력

  • blocker - vacuum을 차단하는 데이터베이스 활동의 범주입니다. 값은 다음 중 하나입니다.

    • 활성 문

    • 트랜잭션의 유휴 상태

    • 준비된 트랜잭션

    • 논리적 복제 슬롯

    • 물리적 복제 슬롯을 사용하는 읽기 전용 복제본

    • 스트리밍 복제를 사용하는 읽기 전용 복제본

    • 임시 테이블

  • database - 차단 활동이 발생하고 있는 데이터베이스의 이름입니다.

  • blocker_identifier - 차단 활동의 식별자입니다. 이 값은 다음과 같이 차단 요인의 유형에 따라 달라집니다.

    • 실행 중인 문 또는 트랜잭션 내 유휴 세션인 경우, 프로세스 ID와 해당 SQL 문이 표시됩니다.

    • 준비된 트랜잭션인 경우, 준비된 트랜잭션 이름이 표시됩니다.

    • 읽기 복제본인 경우, 해당 복제본의 IP 주소가 표시됩니다.

    • 복제 슬롯인 경우, 복제 슬롯 이름이 표시됩니다.

  • wait_event - 해당하는 경우 차단 세션의 대기 이벤트입니다.

  • autovacuum_lagging_by - 해당 범주에서 autovacuum이 지연되고 있는 트랜잭션 수입니다.

  • suggestion - 데이터베이스 이름, 프로세스 ID, 수행할 조치를 포함하여 차단 요인을 해결하기 위한 제안 사항입니다.

  • suggested_action - 차단 요인을 해결하기 위해 수행해야 하는 조치 사항의 배열입니다.

사용 예

=> SELECT * FROM rds_tools.postgres_get_av_diag() ORDER BY autovacuum_lagging_by DESC; blocker | Active statement database | my_database blocker_identifier | SELECT pg_sleep(20000); wait_event | Timeout:PgSleep autovacuum_lagging_by | 568600871 suggestion | Connect to database "my_database", review carefully, and consider terminating the process using suggested_action. suggested_action | {"SELECT pg_terminate_backend(29621);"}