Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 27ab665

Browse files
authored
added query: standby list with replication lag
1 parent c97495b commit 27ab665

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

‎README.md‎

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
1. [Как терминировать заблокированные одинаковые запросы, образующие очередь?](#как-терминировать-заблокированные-одинаковые-запросы-образующие-очередь)
123123
1. [Как журналировать DDL команды в таблицу БД?](#как-журналировать-ddl-команды-в-таблицу-бд)
124124
1. [Как узнать, какие самые частые действия в таблице совершаются?](#как-узнать-какие-самые-частые-действия-в-таблице-совершаются)
125-
1. [Как узнать отставание реплики?](#как-узнать-отставание-реплики)
125+
1. [Как узнать отставание реплик?](#как-узнать-отставание-реплик)
126126
1. [Как узнать процент достижения своего максимального значения для последовательностей?](#как-узнать-процент-достижения-своего-максимального-значения-для-последовательностей)
127127

128128
## Получение пользовательских данных
@@ -2501,9 +2501,29 @@ $ crontab -l
25012501
|Удаление | `D` (>90%) | `d` (>30%) |
25022502

25032503

2504-
### Как узнать отставание реплики?
2504+
### Как узнать отставание реплик?
25052505

2506-
Запускать на реплике:
2506+
На мастере:
2507+
```sql
2508+
SELECT
2509+
client_addr,
2510+
usename AS user,
2511+
application_name,
2512+
state,
2513+
sync_state AS mode,
2514+
pg_current_wal_lsn() - sent_lsn AS pending_bytes, -- объем данных к отправке, который состоит из всех журнальных записей, накопленных на основном узле, но еще не переданных на реплику
2515+
sent_lsn - write_lsn AS write_lag_bytes, -- объем данных, отправленных с основного узла, но еще не записанных на стороне реплики
2516+
write_lsn - flush_lsn AS flush_lag_bytes, -- объем данных, записанных, но еще не синхронизированных на реплике
2517+
flush_lsn - replay_lsn AS replay_lag_bytes, -- объем данных, готовых для воспроизведения процессом startup
2518+
pg_current_wal_lsn() - replay_lsn AS total_lag_bytes,
2519+
write_lag, -- время, прошедшее между локальной синхронизацией журнала и получением уведомления о том, что изменения записаны (но еще не синхронизированы) на реплике
2520+
flush_lag, -- время, прошедшее между локальной синхронизацией журнала и получением уведомления о том, что изменения записаны и синхронизированы на реплике
2521+
replay_lag, -- время, прошедшее между локальной синхронизацией журнала и получением уведомления о том, что изменения записаны, синхронизированы и применены
2522+
reply_time -- отметка времени о получении последнего служебного сообщения от реплики, в котором и содержатся данные по обработке журнала
2523+
FROM pg_stat_replication;
2524+
```
2525+
2526+
На реплике:
25072527
```sql
25082528
select case when not pg_is_in_recovery() or pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() then '0'::interval
25092529
else now() - pg_last_xact_replay_timestamp()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /