test_decoding

Вывод логического декодирования.
Модуль test_decoding представляет пример модуля вывода логического декодирования. Функциональность модуля может послужить отправной точкой для разработки собственного модуля вывода.
Порядок работы модуля test_decoding:
  • получение журнала предварительной записи (WAL, Write-Ahead Log) через механизм логического декодирования;
  • перевод полученного журнала в текстовое представление выполняемых операций.

Ограничения

Параметр СУБД wal_level должен быть установлен в значение logical, иначе будет выдано сообщение об ошибке:
ERROR: logical decoding requires wal_level >= logical
Параметр wal_level определяет, какое количество информации записывается в журнал предзаписи.

Использование модуля

Вывод модуля test_decoding, работающего через интерфейс логического декодирования SQL, может выглядеть так:
SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL, 'include-xids', '0');
Пример вывода результата выполнения запроса:
Раскрыть type=sql
   lsn     | xid |                       data
-----------+-----+--------------------------------------------------
 0/16D30F8 | 691 | BEGIN
 0/16D32A0 | 691 | table public.data: INSERT: id[int4]:2 data[text]:'arg'
 0/16D32A0 | 691 | table public.data: INSERT: id[int4]:3 data[text]:'demo'
 0/16D32A0 | 691 | COMMIT
 0/16D32D8 | 692 | BEGIN
 0/16D3398 | 692 | table public.data: DELETE: id[int4]:2
 0/16D3398 | 692 | table public.data: DELETE: id[int4]:3
 0/16D3398 | 692 | COMMIT
(8 rows)

Ссылки на документацию разработчика

Дополнительную информацию по поставляемому модулю test_decoding можно получить по ссылке.
Предыдущий раздел
tds_fdw
Следующий раздел
timescaledb
Была ли страница полезной?