9.6 이전 PostgreSQL 버전의 복제 지연 모니터링 사용 설정

이 페이지에서는 9.6 이전의 PostgreSQL 버전을 실행하는 소스 인스턴스에서 마이그레이션할 때 복제 지연 모니터링을 사용 설정하는 방법을 설명합니다. 전체 소스 데이터베이스 구성 단계는 소스 데이터베이스 구성을 참조하세요.

9.6 이전 PostgreSQL 버전을 실행하는 소스 인스턴스의 경우 복제 지연 측정항목이 기본적으로 제공되지 않습니다. 이러한 소스의 복제 지연을 모니터링하려면 다음 방법을 사용할 수 있습니다.

보안 정의자 함수 만들기

9.6 이전 PostgreSQL 버전을 실행하는 소스의 복제 지연을 추적하는 데 권장되는 옵션은 Database Migration Service가 복제 지연을 쿼리할 수 있도록 보안 정의자 함수를 만드는 것입니다. 다음 단계를 따르세요.

  1. 수퍼유저 계정을 사용하여 다음 함수를 정의합니다.
    CREATE OR REPLACE FUNCTION pg_stat_replication_user()
    RETURNS TABLE (
      pid               integer,
      usesysid          oid,
      username          name,
      application_name  text,
      client_addr       inet,
      client_hostname   text,
      client_port       integer,
      backend_start     timestamp with time zone,
      backend_xmin      xid,
      state             text,
      sent_location     pg_lsn,
      write_location    pg_lsn,
      flush_location    pg_lsn,
      replay_location   pg_lsn,
      sync_priority     integer,
      sync_state        text
    )
    LANGUAGE SQL
    SECURITY DEFINER
    AS $$
      SELECT * FROM pg_catalog.pg_stat_replication;
    $$;
  2. 마이그레이션 사용자에게 실행 권한을 부여합니다.
    REVOKE EXECUTE ON FUNCTION pg_stat_replication_user() FROM public;
    GRANT EXECUTE ON FUNCTION pg_stat_replication_user() TO <USER>;

자체 관리형 인스턴스의 경우: SUPERUSER 권한 사용

자체 관리형 인스턴스의 경우 전용 마이그레이션 USER에 SUPERUSER 권한을 직접 부여할 수 있습니다.

복제 지연 수동 모니터링

다음 쿼리를 사용하여 복제 지연을 수동으로 모니터링할 수도 있습니다.

SELECT current_timestamp, application_name,
  pg_xlog_location_diff(pg_current_xlog_location(), pg_stat_replication.sent_location) AS sent_location_lag,
  pg_xlog_location_diff(pg_current_xlog_location(), pg_stat_replication.write_location) AS write_location_lag,
  pg_xlog_location_diff(pg_current_xlog_location(), pg_stat_replication.flush_location) AS flush_location_lag,
  pg_xlog_location_diff(pg_current_xlog_location(), pg_stat_replication.replay_location) AS replay_location_lag
FROM pg_stat_replication
WHERE application_name LIKE 'cloudsql%';

다음 단계