이 페이지에서는 9.6 이전의 PostgreSQL 버전을 실행하는 소스 인스턴스에서 마이그레이션할 때 복제 지연 모니터링을 사용 설정하는 방법을 설명합니다. 전체 소스 데이터베이스 구성 단계는 소스 데이터베이스 구성을 참조하세요.
9.6 이전 PostgreSQL 버전을 실행하는 소스 인스턴스의 경우 복제 지연 측정항목이 기본적으로 제공되지 않습니다. 이러한 소스의 복제 지연을 모니터링하려면 다음 방법을 사용할 수 있습니다.
보안 정의자 함수 만들기
9.6 이전 PostgreSQL 버전을 실행하는 소스의 복제 지연을 추적하는 데 권장되는 옵션은 Database Migration Service가 복제 지연을 쿼리할 수 있도록 보안 정의자 함수를 만드는 것입니다. 다음 단계를 따르세요.
- 수퍼유저 계정을 사용하여 다음 함수를 정의합니다.
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; $$;
- 마이그레이션 사용자에게 실행 권한을 부여합니다.
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%';
다음 단계
전체 단계별 마이그레이션 둘러보기는 PostgreSQL용 Cloud SQL 마이그레이션 시작하기를 참조하세요.
소스 인스턴스와 대상 인스턴스 간의 네트워크 연결을 계획하려면 네트워킹 개요를 참조하세요.