Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Problembehebung für Lesereplikate von RDS für PostgreSQL
Im Folgenden finden Sie Tipps zur Problembehebung für einige häufige Probleme mit Lesereplikaten von RDS für PostgreSQL.
- Beenden der Abfrage, die die Lesereplikatsverzögerung verursacht hat
-
Transaktionen, die im Transaktionsstatus entweder aktiv oder im Leerlauf sind und über einen längeren Zeitraum in der Datenbank ausgeführt werden, können den WAL-Replikationsprozess stören und dadurch die Replikationsverzögerung erhöhen. Achten Sie daher darauf, die Laufzeit dieser Transaktionen mit der PostgreSQL-Ansicht
pg_stat_activityzu überwachen.Führen Sie eine Abfrage auf der primären Instance ähnlich der folgenden aus, um die Prozess-ID (PID) der Abfrage zu ermitteln, die über einen längeren Zeitraum ausgeführt wird:
SELECT datname, pid,usename, client_addr, backend_start, xact_start, current_timestamp - xact_start AS xact_runtime, state, backend_xmin FROM pg_stat_activity WHERE state='active';SELECT now() - state_change as idle_in_transaction_duration, now() - xact_start as xact_duration,* FROM pg_stat_activity WHERE state = 'idle in transaction' AND xact_start is not null ORDER BY 1 DESC;Nachdem Sie die PID der Abfrage identifiziert haben, können Sie wählen, ob Sie die Abfrage beenden möchten.
Führen Sie eine Abfrage auf der primären Instance ähnlich der folgenden aus, um die Abfrage zu beenden, die über einen längeren Zeitraum ausgeführt wird:
SELECT pg_terminate_backend(PID);