Этот коммит содержится в:
Ihar Hancharenka 2025-04-20 12:13:32 +03:00
родитель 1efe5caf00
Коммит 904f05a3a3
6 изменённых файлов: 134 добавлений и 2 удалений

Просмотреть файл

@ -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 Обычный файл
Просмотреть файл

@ -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