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);"}