Size: a a a

pgsql – PostgreSQL

2021 February 15

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Yevhenii Ryzhuk
Здравствуйте.
Подскажите, а как в цикле for обьявить 2 счётчика (точнее доставать значение по индексу из 2 отдельных массивов)?
К примеру у меня есть 2 массива одинаковой длины.
declare:
int  a [1,2,3],
int b [4,5,6]
В цикле в мне нужно виводить суму двух елементов... a[0] + b[0]  = 1+4 = 5, и так далее

DECLARE
s1 int[];
s2 int[];
BEGIN
FOR i IN s1,s2
LOOP
RAISE NOTICE 'Sum = ', s1[i] + s2[i];
END LOOP;
END;
Какой правильный синтаксис ?
Спасибо.
У как всё запущено... Тут не с синтаксисом проблема, а с семантикой.  Надо начинать  с основ программирования: как написать цикл  складывающий два вектора.
источник

AG

Alex Grigorev in pgsql – PostgreSQL
Привет всем! вопрос знатокам: можно ли сделать бэкап на реплике через pg_dump, и потом с архива сохраненных WAL (с этого же сервера или другого) восстанавливаться на нужную точку во времени (догнать из этих логов данные)?
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
Alex Grigorev
Привет всем! вопрос знатокам: можно ли сделать бэкап на реплике через pg_dump, и потом с архива сохраненных WAL (с этого же сервера или другого) восстанавливаться на нужную точку во времени (догнать из этих логов данные)?
нет, WAL можно применить только к физической копии
источник

AG

Alex Grigorev in pgsql – PostgreSQL
Alex Grigorev
Привет всем! вопрос знатокам: можно ли сделать бэкап на реплике через pg_dump, и потом с архива сохраненных WAL (с этого же сервера или другого) восстанавливаться на нужную точку во времени (догнать из этих логов данные)?
спасибо! но разве нет утилит которые читают инструкции из WAL файлов? или в этом случае не фиксируется номер транзакции, от которого нужно эти инструкции догонять?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
в дампе нет информации о журнале транзакций, поэтому непонятно с какой позиции надо взять имеющийся WAL архив и начать применять к датфайлам
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
тем более там разные WAL истории получаются... у сервера с восстановленной копией своя история, у WAL архива - своя.
источник

AG

Alex Grigorev in pgsql – PostgreSQL
есть утилиты которые читают WAL файлы? можно вытащить запросы меняющие данные, и ориентироваться по этим запросам и времени запроса (известно время бэкапа до секунды, в WAL файлах видно время транзакции?)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
pg_waldump
источник

AG

Alex Grigorev in pgsql – PostgreSQL
т.е можно нагородить огород по идее )
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
но запросов там нет, т.к. WAL это последовательность физических изменений в данных
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
только если поверх логической репликации чтото делать
источник

AG

Alex Grigorev in pgsql – PostgreSQL
ясно, спасибо!
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
можно тут посмотреть на пример
https://www.postgresql.org/docs/current/logicaldecoding-example.html
источник

AG

Alex Grigorev in pgsql – PostgreSQL
еще вопрос если позволите: может знаете маны по оптимизации настройки postgres для работы в памяти? для ускорения работы бд на хайлоад проекте (вся база в tmpfs памяти) нужно максимально выключить все тяжелые механизмы защиты
источник

AG

Alex Grigorev in pgsql – PostgreSQL
что-то можно подкрутить там? много проблем вызывает автовакуум, CPU сильно грузит
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
http://www.interdb.jp/pg/index.html
прочтите это чтоб понимать вообще устройство ПГ
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
ну а вообще вы задаете довольно общие вопросы, на них и ответы будут тоже довольно общие )))

если чувствуете что есть проблемы с БД, нужно выдвигать гипотезы и проверять их (подтверждать или опровергать) и если проблема подтверждается дальше уже заниматься ее решением.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
а превентивная оптимизация может быть выброшенным в пустую временем (т.к. все заоптимизировать нельзя и проблема может вылезти там где совсем не ожидали)
источник

AG

Alex Grigorev in pgsql – PostgreSQL
спасибо! будем почитать
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
еще рекомендую почитать
http://www.brendangregg.com/linuxperf.html
http://www.brendangregg.com/usemethod.html
это вцелом по траблшутингу
источник