aurora_global_db_instance_status
Aurora 전역 DB 클러스터의 복제본을 포함하여 모든 Aurora 인스턴스의 상태를 표시합니다.
조건
aurora_global_db_instance_status()
인수
없음
반환 유형
다음 열이 있는 SETOF 레코드:
server_id
- DB 인스턴스의 식별자입니다.session_id
- 현재 세션에 대한 고유한 식별자입니다.MASTER_SESSION_ID
의 값은 Writer(프라이머리) DB 인스턴스를 식별합니다.aws_region
- 이 전역 DB 인스턴스가 실행되는 AWS 리전입니다. 리전 목록은 리전 가용성 섹션을 참조하세요.durable_lsn
- 스토리지에서 내구성이 뛰어난 로그 시퀀스 번호(LSN)입니다. LSN(로그 시퀀스 번호)은 데이터베이스 트랜잭션 로그의 레코드를 식별하는 고유한 순차적 번호입니다. LSN은 더 큰 LSN이 더 이후의 트랜잭션을 나타내도록 정렬됩니다.highest_lsn_rcvd
- 라이터 DB 인스턴스에서 DB 인스턴스가 수신한 가장 높은 LSN입니다.feedback_epoch
– DB 인스턴스가 상시 대기 방식 정보를 생성할 때 사용하는 epoch입니다. 상시 대기 방식은 프라이머리 DB가 복구 또는 대기 모드에 있는 동안 연결 및 쿼리를 지원하는 DB 인스턴스입니다. 상시 대기 방식 정보에는 epoch(시점)와 상시 대기 방식으로 사용되는 DB 인스턴스에 대한 기타 세부 정보가 포함됩니다. 자세한 내용은 PostgreSQL 설명서의 핫 스탠바이를 참조하세요. feedback_xmin
- DB 인스턴스가 사용하는 최소(가장 오래된) 활성 트랜잭션 ID입니다.oldest_read_view_lsn
– DB 인스턴스가 스토리지에서 읽는 데 사용하는 가장 오래된 LSN입니다.visibility_lag_in_msec
- 이 DB 인스턴스가 라이터 DB 인스턴스보다 지연된 시간(밀리초)입니다.
사용 노트
이 함수는 Aurora DB 클러스터에 대한 복제 통계를 보여줍니다. 클러스터의 각 Aurora PostgreSQL DB 인스턴스에 대해 이 함수는 글로벌 데이터베이스 구성에서 크로스 리전 복제본을 포함하는 데이터 행을 표시합니다.
Aurora PostgreSQL DB 클러스터의 인스턴스나 Aurora PostgreSQL 전역 데이터베이스의 인스턴스에서 이 함수를 실행할 수 있습니다. 이 함수는 모든 복제본 인스턴스의 지연에 대한 세부 정보를 반환합니다.
이 함수(aurora_global_db_instance_status
)를 사용하거나 aurora_global_db_status
를 사용하여 지연 모니터링에 대해 자세히 알아보려면 Aurora PostgreSQL 기반 글로벌 데이터베이스 모니터링 섹션을 참조하세요.
Aurora 전역 데이터베이스에 대한 자세한 내용은 Amazon Aurora 글로벌 데이터베이스 개요 섹션을 참조하세요.
Aurora 전역 데이터베이스를 시작하려면 Amazon Aurora Global Database 시작하기 섹션 또는 Amazon Aurora FAQ
예시
이 예시에서는 크로스 리전 인스턴스 통계를 보여줍니다.
=>
SELECT * FROM aurora_global_db_instance_status();
server_id | session_id | aws_region | durable_lsn | highest_lsn_rcvd | feedback_epoch | feedback_xmin | oldest_read_view_lsn | visibility_lag_in_msec ------------------------------------------+--------------------------------------+--------------+-------------+------------------+----------------+---------------+----------------------+------------------------ db-119-001-instance-01 | MASTER_SESSION_ID | eu-west-1 | 2534560273 | [NULL] | [NULL] | [NULL] | [NULL] | [NULL] db-119-001-instance-02 | 4ecff34d-d57c-409c-ba28-278b31d6fc40 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560266 | 6 db-119-001-instance-03 | 3e8a20fc-be86-43d5-95e5-bdf19d27ad6b | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560266 | 6 db-119-001-instance-04 | fc1b0023-e8b4-4361-bede-2a7e926cead6 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560254 | 23 db-119-001-instance-05 | 30319b74-3f08-4e13-9728-e02aa1aa8649 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560254 | 23 db-119-001-global-instance-1 | a331ffbb-d982-49ba-8973-527c96329c60 | eu-central-1 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 996 db-119-001-global-instance-1 | e0955367-7082-43c4-b4db-70674064a9da | eu-west-2 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 14 db-119-001-global-instance-1-eu-west-2a | 1248dc12-d3a4-46f5-a9e2-85850491a897 | eu-west-2 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 0
이 예제에서는 밀리초 단위로 전역 복제본 지연을 확인하는 방법을 보여줍니다.
=>
SELECT CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'Primary' ELSE 'Secondary' END AS global_role, aws_region, server_id, visibility_lag_in_msec FROM aurora_global_db_instance_status() ORDER BY 1, 2, 3;
global_role | aws_region | server_id | visibility_lag_in_msec -------------+--------------+-----------------------------------------+------------------------ Primary | eu-west-1 | db-119-001-instance-01 | [NULL] Secondary | eu-central-1 | db-119-001-global-instance-1 | 13 Secondary | eu-west-1 | db-119-001-instance-02 | 10 Secondary | eu-west-1 | db-119-001-instance-03 | 9 Secondary | eu-west-1 | db-119-001-instance-04 | 2 Secondary | eu-west-1 | db-119-001-instance-05 | 18 Secondary | eu-west-2 | db-119-001-global-instance-1 | 14 Secondary | eu-west-2 | db-119-001-global-instance-1-eu-west-2a | 13
이 예제에서는 전역 데이터베이스 구성에서 AWS 리전당 최소, 최대 및 평균 지연을 확인하는 방법을 보여줍니다.
=>
SELECT 'Secondary' global_role, aws_region, min(visibility_lag_in_msec) min_lag_in_msec, max(visibility_lag_in_msec) max_lag_in_msec, round(avg(visibility_lag_in_msec),0) avg_lag_in_msec FROM aurora_global_db_instance_status() WHERE aws_region NOT IN (SELECT aws_region FROM aurora_global_db_instance_status() WHERE session_id='MASTER_SESSION_ID') GROUP BY aws_region UNION ALL SELECT 'Primary' global_role, aws_region, NULL, NULL, NULL FROM aurora_global_db_instance_status() WHERE session_id='MASTER_SESSION_ID' ORDER BY 1, 5;
global_role | aws_region | min_lag_in_msec | max_lag_in_msec | avg_lag_in_msec ------------+--------------+-----------------+-----------------+----------------- Primary | eu-west-1 | [NULL] | [NULL] | [NULL] Secondary | eu-central-1 | 133 | 133 | 133 Secondary | eu-west-2 | 0 | 495 | 248