Résolution de problèmes liés aux réplicas en lecture RDS pour PostgreSQL - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution de problèmes liés aux réplicas en lecture RDS pour PostgreSQL

Vous trouverez ci-dessous des idées pour résoudre problèmes courants liés aux réplicas en lecture RDS pour PostgreSQL.

Mettre fin à la requête à l’origine du retard du réplica en lecture

Les transactions à l’état actif ou inactif qui s’exécutent pendant une longue période dans la base de données peuvent interférer avec le processus de réplication WAL, augmentant ainsi le retard de réplication. Veillez donc à surveiller le temps d’exécution de ces transactions à l’aide de la vue pg_stat_activity PostgreSQL.

Exécutez une requête similaire à la suivante sur l’instance principale pour trouver l’ID de processus (PID) de la requête exécutée depuis longtemps :

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;

Après avoir identifié le PID de la requête, vous pouvez choisir de mettre fin à la requête.

Exécutez une requête similaire à la suivante sur l’instance principale pour mettre fin à la requête exécutée depuis longtemps :

SELECT pg_terminate_backend(PID);