이 페이지에서는 9.6 이전의 PostgreSQL 버전을 실행하는 소스 인스턴스에서 PostgreSQL용 AlloyDB로 마이그레이션할 때 복제 지연 모니터링을 사용 설정하는 방법을 설명합니다. 전체 소스 데이터베이스 구성 안내는 소스 데이터베이스 구성을 참조하세요.
9.6 이전 PostgreSQL 버전을 실행하는 소스 인스턴스의 경우 수퍼유저가 아닌 사용자는 pg_stat_replication 뷰의 복제 통계에 액세스할 수 없으므로 복제 지연 측정항목을 기본적으로 사용할 수 없습니다. 이러한 소스의 복제 지연을 모니터링하려면 다음 방법을 사용하면 됩니다.
보안 정의자 함수 만들기
9.6 이전 PostgreSQL 버전을 실행하는 소스의 복제 지연을 추적하는 데 권장되는 옵션은 Database Migration Service가 복제 지연 통계를 쿼리할 수 있도록 보안 정의자 함수를 만드는 것입니다. 다음 단계를 따르세요.
- 수퍼유저 계정을 사용하여 소스 데이터베이스에 연결하고
pg_stat_replication_user()함수를 정의합니다.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 "MIGRATION_USER_ACCOUNT_NAME";
자체 호스팅 인스턴스의 경우: SUPERUSER 권한 사용
자체 호스팅 PostgreSQL 인스턴스의 경우 전용 마이그레이션 사용자 계정에 SUPERUSER 권한을 직접 부여할 수 있습니다.
ALTER USER MIGRATION_USER_ACCOUNT_NAME WITH 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;
다음 단계
전체 단계별 마이그레이션 둘러보기는 PostgreSQL용 AlloyDB 마이그레이션 시작하기를 참조하세요.
소스 인스턴스와 대상 인스턴스 간의 네트워크 연결을 계획하려면 네트워킹 고려사항을 참조하세요.