В окне "Status server" при получении информации о процессах добавлен сбор событий ожидания.
Должно быть установлено расширение pg_wait_sampling.
И правильно настроены параметры. Для примера минимальный размер буфера:
при частоте опроса 1 сек (1000мс), количестве процессов 100 (num_p),
pg_wait_sampling.history_period=10
Значение pg_wait_sampling.history_size = 1000 /10 * 100 = 10000
для 3-х кратного запаса можно взять 30000.
Ожидание ClientRead немного изменено и означает, ожидание данных от клиента в НАЧАТОЙ ТРАНЗАКЦИИ.
События ожидания можно сохранить в текстовый файл.
В настройках pgadmin3opt.json можно выбрать цвета для отдельных событий или отключить сбор.
В окне редактирования запросов можно вызвать диалог транформации текста (Ctrl+M).
Где при помощи PCRE регулярных выражений можно изменить выделенный текст или текст из буфера обмена.
Регулярные выражения имеют подсветку синтаксиса и подсветку найденных групп.
В выражении замены можно ссылаться на найденные группы при помощи \g{номер_группы}
Настройки цветов можно редактировать в pgadmin3opt.json файле.
Добавлена в "Вид по умолчанию" кнопка режима транзакций (T|A).
Раньше её там не было, что приводило к неадекватным размерам в не которых случаях.
Нажатие Ctrl+Alt+V приведёт всё в норму.
Добавлен вызов контекстной помощи по именам функций Postgresql.
Для этого требуется:
1. в параметрах указать путь к html файлам документации.
2. выполнить скрипт _extract_func_help.pl для генерации файла _func.txt
3. разместить файл _func.txt в каталоге с документацией.
Для вызова помощи нужно выделить слово или выражение и нажать Ctrl+F1.
Можно просто нажать Ctrl+F1 и тогда для слова слева от курсора будет выведена справка.
Если слову соответсвует несколько функций они будут выведены в виде списка имен.
Для навигации в окне контекстной помощи:
- закрыть окно или переместиться назад - правая кнопка мыши
- выделить текст + правая кнопка - копировать выделение в буфер и закрыть окно.
- нажатие ESC - закрытие окна.
Для отображения помощи используется wxHtmlWindow https://docs.wxwidgets.org/latest/overview_html.html.
Если установлено расширение pgpro_pwr в схему profile, то появляется возможность
получить для базы данных AWR отчет.
Отчет формируется функциями get_report и get_diffreport.
Первая предназначена для отключения/включения быстрого перемещения к корневым узлам.
Вторая для отключения/включения автоматического сохранения закладок в Query Tool.
После отключения авто сохранения возможно понадобиться вручную очистить каталог
с сохранёнными закладками %APPDATA%\postgresql\recovery
Имена недоступных серверов подсвечиваются.
Информационное окно об отсутствии соединения не показывается.
Таймаут между попытками установки соединения сокращен до 2 минут.
Добавлена возможность запуска внешней команды для выравнивания текста
по разделителям. На java написан скрипт для выравнивания списков
align.jar. Запускать командой @java.exe -jar <PATH>\align.jar
которую нужно поместить в bat файл
Для результатов запроса, можно построить график по трём колонкам:
L | X | Y
----------
L1 | x1| y1
L1 | x2| y2
L2 | x3| y3
L2 | x4| y4
...
Колонки должны быть отсортированы по L,X
Типы колонок:
L - текст (это легенда серии данных)
X - дата или числа
Y - числа
График строится по четырём и более колонкам (серии данных вертикальные):
X | L1| L2| ...| Lx
--------------------
x1| y1| y5|....| y.
x2| y2| y6|....| y.
x3| y3| y7|....| y.
x4| y4| y8|....| y.
Серии данных располагаются вертикально. Легенда это заголовок столбца
Колонка Х общая для всех серий.
При возникновении ошибки "server closed the connection unexpectedly"
сообщение об этом не выводиться на экран. Т.к. происходило падение pgAdmin3
В frmLog добалены сохраняемые пользовательские фильтры.
По кнопке Add текущий фильтр сохраняется. Имя задается в ComboBox.
В окне "Status Server" устанавливается парамер "SET statement_timeout=10000;"
чтобы избежать зависания функции pg_query_state.
добавлен вызов функции bt_index_check в форме обслуживания.
Рассширение amcheck должно быть установлено.
Исправлена ошибка #19. После изменения вывода bytea на hex формат,
перестали распознаваться аргументы триггера.
Добавлена проверка последовательности дат в результате запроса.
По первым двум строкам вычисляется разница дат и все последующие строки
должны иметь такую же разнизу в датах.
Строки нарушающие это правило отмечаются желтым цветом.
Есть два способа изменения icon для окна query.
1. Поместить новую icon в %APPDATA%\postgresql\icons
Имя файла задать следующим образом: hostname_dbname.png или hostname.png или dbname.png
Размер icon 32х32
2. Задать для сервера цвет. Фон icon будет окрашен в цвет сервера.
При нажатии провой кнопкой на любой строке и колонке в окне Активность,
значение под мышью становиться точным фильтром для этой колонки.
Сбросить фильтр можно по кнопке в панели инструментов.
- Для процесссов walsender отображается дополнительная информация, которая получается запросом
select coalesce(sl.xmin,sl.catalog_xmin)::text xmin_slot,':'||slot_name||'['||sl.slot_type||']' slotinfo,'LagSent:'||pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(),coalesce(confirmed_flush_lsn,restart_lsn)))||' LagXmin: '||coalesce(extract(epoch from (pg_last_committed_xact()).timestamp - pg_xact_commit_timestamp(xmin))::int,0)||' s' xminlag,coalesce(extract(epoch from (pg_last_committed_xact()).timestamp - pg_xact_commit_timestamp(xmin))::int,0) xminslotdelta from pg_replication_slots sl;
в поле backend_xmin <- xmin_slot
в поле query <- xminlag
- Добавлена подсветка строки оранжевым цветом, если xminslotdelta >= 1800 секунд