Auf dieser Seite wird beschrieben, wie Sie das Monitoring der Replikationsverzögerung aktivieren, wenn Sie von einer Quellinstanz mit einer PostgreSQL-Version vor 9.6 migrieren. Die vollständigen Schritte zur Konfiguration der Quelldatenbank finden Sie unter Quelldatenbank konfigurieren.
Für Quellinstanzen mit PostgreSQL-Versionen vor 9.6 ist der Messwert für die Replikationsverzögerung standardmäßig nicht verfügbar. Sie können die folgenden Ansätze verwenden, wenn Sie die Replikationsverzögerung für solche Quellen überwachen möchten.
Sicherheitsdefiniererfunktion erstellen
Die empfohlene Option zum Erfassen der Replikationsverzögerung für Quellen mit PostgreSQL-Versionen vor 9.6 besteht darin, eine Sicherheitsdefinitionsfunktion zu erstellen, mit der Database Migration Service die Replikationsverzögerung abfragen kann. Gehen Sie so vor:
- Definieren Sie die folgende Funktion mit einem Superuser-Konto:
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; $$;
- Gewähren Sie dem Migrationsnutzer die Ausführungsberechtigung:
REVOKE EXECUTE ON FUNCTION pg_stat_replication_user() FROM public; GRANT EXECUTE ON FUNCTION pg_stat_replication_user() TO <USER>;
Für selbstverwaltete Instanzen: Verwenden Sie SUPERUSER-Berechtigungen.
Bei selbstverwalteten Instanzen können Sie die Berechtigung SUPERUSER direkt dem dedizierten Migrations-USER gewähren.
Replikationsverzögerung manuell überwachen
Sie können die Replikationsverzögerung auch manuell mit der folgenden Abfrage überwachen:
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%';
Nächste Schritte
Eine vollständige Schritt-für-Schritt-Anleitung für die Migration finden Sie unter Erste Schritte mit Cloud SQL for PostgreSQL-Migrationen.
Informationen zum Planen der Netzwerkverbindung zwischen Ihren Quell- und Zielinstanzen finden Sie unter Netzwerkübersicht.