зеркало из
https://github.com/iharh/notes.git
synced 2025-10-29 12:46:06 +02:00
m
Этот коммит содержится в:
родитель
1efe5caf00
Коммит
904f05a3a3
98
db/sql/postgres/tools/replication/wal2json.txt
Обычный файл
98
db/sql/postgres/tools/replication/wal2json.txt
Обычный файл
@ -0,0 +1,98 @@
|
||||
https://github.com/eulerto/wal2json
|
||||
**************************************************
|
||||
🤖 Конвертируем записи WAL в JSON (расширение wal2json).
|
||||
|
||||
Продолжаем вчерашнюю тему логического декодирования в PostgreSQL. В этой заметке посмотрим на полезное расширение wal2json.
|
||||
|
||||
Wal2json - это расширение для PostgreSQL, которое позволяет преобразовывать данные из Write-Ahead Log (WAL) в удобочитаемый JSON-формат. Это мощный инструмент для отслеживания изменений в базе данных, который особенно полезен для систем репликации и аудита.
|
||||
|
||||
Основные возможности расширения:
|
||||
|
||||
* Преобразование WAL-записей в JSON-формат;
|
||||
* Фильтрация изменений по таблицам;
|
||||
* Включение/исключение определенных типов операций (INSERT, UPDATE, DELETE)!
|
||||
* Возможность включать в вывод схемы таблиц;
|
||||
* Поддержка различных форматов вывода.
|
||||
|
||||
Официальный GitHub расширения:
|
||||
|
||||
➡️ https://github.com/eulerto/wal2json
|
||||
|
||||
Установка wal2json:
|
||||
|
||||
1️⃣ Устанавливаем необходимые пакеты для сборки расширения:
|
||||
|
||||
# sudo apt-get install postgresql-server-dev-XX make gcc
|
||||
|
||||
Здесь XX - ваша версия PostgreSQL.
|
||||
|
||||
2️⃣ Скачиваем исходный код wal2json:
|
||||
|
||||
# git clone https://github.com/eulerto/wal2json.gitcd wal2json
|
||||
|
||||
3️⃣ Собираем и устанавливаем:
|
||||
|
||||
# make && make install
|
||||
|
||||
4️⃣ Добавляем wal2json в shared_preload_libraries в postgresql.conf:
|
||||
|
||||
shared_preload_libraries = 'wal2json'
|
||||
|
||||
После этого нужно перезапустить службу PostgreSQL.
|
||||
|
||||
5️⃣ Создаем расширение в нужной базе данных:
|
||||
|
||||
CREATE EXTENSION wal2json;
|
||||
|
||||
Использование wal2json:
|
||||
|
||||
1️⃣ Создаем слот репликации:
|
||||
|
||||
SELECT * FROM pg_create_logical_replication_slot('wal2json_slot', 'wal2json');
|
||||
|
||||
2️⃣ Проверяем изменения:
|
||||
|
||||
SELECT * FROM pg_logical_slot_get_changes('wal2json_slot', NULL, NULL);
|
||||
|
||||
Пример вывода:
|
||||
|
||||
{
|
||||
"change": [
|
||||
{
|
||||
"kind": "insert",
|
||||
"schema": "public",
|
||||
"table": "users",
|
||||
"columnnames": ["id", "name", "email"],
|
||||
"columntypes": ["integer", "character varying(100)", "character varying(255)"],
|
||||
"columnvalues": [1, "John Doe", "john@example.com"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Wal2json поддерживает различные параметры для настройки вывода:
|
||||
|
||||
SELECT * FROM pg_logical_slot_get_changes(
|
||||
'wal2json_slot',
|
||||
NULL,
|
||||
NULL,
|
||||
'include-pk', '1',
|
||||
'pretty-print', '1',
|
||||
'include-schemas', '0'
|
||||
);
|
||||
|
||||
Т. е. мы можем регулировать какие объекты мы ходим видеть в нашем выходном JSON.
|
||||
|
||||
Как видите, установка, настройка и применение расширения не представляет особых сложностей, но возможности его применения широкий. Вот несколько примеров:
|
||||
|
||||
* Отслеживание изменений данных для интеграции с другими системами;
|
||||
* Аудит: Логирование всех изменений для соответствия требованиям;
|
||||
* Синхронизация данных: Репликация данных в другие хранилища или поисковые системы;
|
||||
* Восстановление данных: Анализ изменений для точечного восстановления.
|
||||
|
||||
Подводя итог, можно сказать, что wal2json - это мощный инструмент для работы с изменениями данных в PostgreSQL, который предоставляет удобный JSON-интерфейс к WAL. Он открывает широкие возможности для интеграции, мониторинга и анализа данных.
|
||||
|
||||
За более подробной информацией идем в официальную документацию.
|
||||
|
||||
На этом все! До связи!
|
||||
|
||||
#pgext
|
||||
@ -17,10 +17,10 @@ https://www.777555.by/product/325167-lg-ultrawide-38wn95c-w/
|
||||
32"
|
||||
https://catalog.onliner.by/display?mfr%5B0%5D=lg&diagonal%5Bfrom%5D=315&diagonal%5Bto%5D=32&resolution%5Bfrom%5D=3840x2160&order=price%3Adesc
|
||||
|
||||
! want smart
|
||||
! my smart
|
||||
https://www.lg.com/ru/monitors/lg-32sr85u-w
|
||||
https://5element.by/products/809529-monitor-lg-32sr85u-w/characteristics
|
||||
2195 bin, 627$
|
||||
1955 bin, 627-638$
|
||||
900006912999
|
||||
https://www.777555.by/product/1524905-lg-myview-smart-monitor-32sr85u-w/
|
||||
2263 bin, 643$, 2024y, 4k, 60Hz, 400 kd/m2
|
||||
|
||||
@ -59,3 +59,10 @@ https://catalog.onliner.by/display/iiyama/g4380uhsub1
|
||||
42"
|
||||
https://catalog.onliner.by/display/ktcplay/g42p5g42p5p
|
||||
! 4256 bin ???? y, 600 kd
|
||||
32"
|
||||
https://5element.by/products/809529-monitor-lg-32sr85u-w#description
|
||||
! my, 1955 bin, 2024y, 4k 60Hz, IPS, 400 kd
|
||||
https://catalog.onliner.by/display/lg/32uq850vw
|
||||
! 2873 bin, 3840x2160 4k 60 Hz, IPS, 400 kd
|
||||
https://catalog.onliner.by/display/samsung/ls32dm801uuxdu
|
||||
! 2945 bin, 2024y, 400 kd
|
||||
|
||||
@ -5,6 +5,9 @@ PoliticsTodayRUUSUA
|
||||
aurora
|
||||
https://www.youtube.com/playlist?list=PLtnoA8Ys77oSEYxYWccdahDdsrc_B3QM1
|
||||
|
||||
2025
|
||||
OlegBesedin - Kedmi - UA Disappearing of 37:38
|
||||
https://www.youtube.com/watch?v=bd3IJVzN1dE
|
||||
2024
|
||||
LawAndOrder - Kedmi - 04.02 of 1:03:16
|
||||
https://www.youtube.com/watch?v=XHz_XZ63s9w
|
||||
|
||||
@ -22,6 +22,9 @@ set up explorer
|
||||
|
||||
Zhitinskiy
|
||||
|
||||
course
|
||||
https://www.coursera.org/
|
||||
|
||||
try
|
||||
librewolf
|
||||
https://www.librechat.ai/docs/features
|
||||
|
||||
21
science/algo/docs/people/kulikov.txt
Обычный файл
21
science/algo/docs/people/kulikov.txt
Обычный файл
@ -0,0 +1,21 @@
|
||||
https://alexanderskulikov.github.io/
|
||||
https://math-cs.spbu.ru/people/kulikov-a-s/
|
||||
https://www.lektorium.tv/speaker/2678
|
||||
https://stepik.org/course/217/promo
|
||||
|
||||
Proofs, ChatGPT and Python
|
||||
https://stepik.org/course/193192/promo
|
||||
Kulikov Pevzner
|
||||
https://cogniterra.org/course/24/promo
|
||||
https://www.coursera.org/specializations/data-structures-algorithms
|
||||
|
||||
2014
|
||||
https://www.youtube.com/playlist?list=PLG67RuYa9mGme3R7_u384wPOFx4SzT-5u
|
||||
https://www.youtube.com/playlist?list=PL_622KRNv4cwQ42blWuBg116eP67DHJkr
|
||||
https://www.youtube.com/playlist?list=PLBmETFttPL1OHGBTpJ6o-bOzuhE3Og2Ld
|
||||
https://www.youtube.com/playlist?list=PL-_cKNuVAYAUhJ1CdU0wiEDQj58E51Zn-
|
||||
https://www.youtube.com/playlist?list=PLtWKktkq8nT6fLitiR0ckMLCuEpwR94Nq
|
||||
for NP-hard
|
||||
https://www.youtube.com/playlist?list=PLlb7e2G7aSpSJlQG4gWGzOLFTARcmsZ7m
|
||||
https://www.youtube.com/playlist?list=PL-_cKNuVAYAXtq19o2pZvLev0wgeGBqXW
|
||||
https://www.youtube.com/playlist?list=PL-_cKNuVAYAWpKLONs_YYrEwH7KrSPn9u
|
||||
Загрузка…
x
Ссылка в новой задаче
Block a user