Добавлено два узла Partial GroupAggregate, Finalize GroupAggregate.
Добавлено наглядное представление Memoize.
Добавлена поддержка колеса мыши.
Если в план более 300 узлов, то включается оптимизация отрисовки и возможно появление
артефактов при прокрутке экрана.
1. Добавлена подстановка соединений таблиц(и представлений) по их FK.
Подстановка работает в двух вариантах:
1.1 После ключевого слова ON:самая правая таблица соединяется с любой левой.
1.2 После ключевого слова WHERE AND OR все таблицы соединяются со всеми.
2. Дополнение условия соединения после символа = .
Представления можно соединить только если поле представления является полем таблицы.
3. Стандартное автодополнение теперь выдаёт список таблиц и представление после JOIN.
1. Добавлена возможность быстрой подстановки слов на латинице по нажатию
Alt+RIGHT. Возможность включается настройкой "Use word hints".
Список слов составляется при загрузке запроса и по мере ввода новых слов.
2. Добавлена возможность заменять при выполнении запроса переменные вида
$1, $2, ... или :variableName1 на пользовательские значения введённые
в диалоге. Пока можно заменять переменные в запросах select,update,delete,insert.
Перед отправкой запроса на сервер переменные заменяются простой текстовой заменой.
Запрос который выполнен на сервере можно посмотреть на вкладке История.
Возможность включается настройкой "Replace variables in a query".
Выделить правой кнопкой выполненый запрос не получиться т.к. текст выполненого запроса
и текст в редакторе будет отличаться.
1. Добавлена подсветка строки с курсором. В настройках можно выбрать цвет фона.
2. Можно указать ширину курсора для раскладки отличной от 0x409 "En" (только Windows).
3. Исправлена проблема с выделением найденного UNICODE текста.
В навигационной панели интервал запуска БД (от старта до готовности принимать подключения)
обозначается вертикальной цветной полоской.
Цвет указывается в json в параметре "startdbcolor".Если его там нет, добавьте его руками.
В строке замены дабавлены следующие возможности:
1. Добавлена подсветка групп.
Только цвета заданные в настройке "colorGroup" . 13 цветов по умолчанию.
Если использовано больше групп, добавьте цвета в pgadmin3opt.json
2. Добавлены пользовательские группы вида [ ].
Группы (вида \g{n} и []) указанные в квадратных скобках проверяются на пустые значения и
Если они ВСЕ пустые то всё выражение в [] считается пустой строкой.
Скобки могут быть вложенными.
Применяются для того что бы не выводить разделитель для пустой группы.
Например: [\t \g{2}[\t \g{3}]]
3. Добавлена возможность не выводить содержимое группы.
Для этого группу указывают так: \G{n}
Применяется для замены текста на пользовательский.
Например: [and not null\G{2}]
Этот фрагмент выведет "and not null" если группа 2 не пустая иначе ""
4. Разносить текст замены можно на несколько строк.
Переводы строк при замене игнорируются.
Если нужно добавить перевод строк в текст замены нужно явно указать \n\r.
В окне "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 можно выбрать цвета для отдельных событий или отключить сбор.
В окне "Server Status" при просмотре лога сервера добавлена навигационная панель c маркерами.
Список доступных команд отображается по F1.
Работает только с CSV логами.
Загрузка лога с сервера вынесена в отдельное соединение с application_name='pgAdmin III LogReader'.
При закрытии основной программы может иногда потребоваться два нажания на кнопку "Закрыть" (при медленных соединениях и больших логах).
Это особенность реализации завершения потока LogReader.
В окне редактирования запросов можно вызвать диалог транформации текста (Ctrl+M).
Где при помощи PCRE регулярных выражений можно изменить выделенный текст или текст из буфера обмена.
Регулярные выражения имеют подсветку синтаксиса и подсветку найденных групп.
В выражении замены можно ссылаться на найденные группы при помощи \g{номер_группы}
Настройки цветов можно редактировать в pgadmin3opt.json файле.
Добавлен новый элемент для редактирования JSON файла pgadmin3opt.json
Этот файл используется для хранения настроек навигационной панели лог файла(ctlNavigatePanel),
хранения конфигураций диалога трансформации текста(dlgTransformText), настройки событий ожиданий(WaitSample).
Приложение падало при вызове autocomplite если в тексте sql встречался
оператор is dictinct from.
В определении имён не учитавались вложенные скобки, что приводило
к неполному перечню полей в списке autocomplite.
Добавлена в "Вид по умолчанию" кнопка режима транзакций (T|A).
Раньше её там не было, что приводило к неадекватным размерам в не которых случаях.
Нажатие Ctrl+Alt+V приведёт всё в норму.
Для серверов с установленным track_commit_timestamp=on у таблиц можно определить время создания.
Это время равно значению запроса:
"select pg_xact_commit_timestamp(xmin) create_ts from pg_type where typrelid=$oid_table".
Если это время определить не удалось то "Create table timestamp" не отображается.
Добавлен вызов контекстной помощи по именам функций 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