При наличии такого плагина:
```
; SSH (Unix): tunnel putty forward
;
Title=[Putty tunnel forward]
Command=putty -load "$$TITLE"
appliesto=puttyforward
Description=Putty forward tunnel from local port.
KeyFile=
Platform=unix
ServerType=postgresql
Database=No
SetPassword=No
;
```
При попытке подключения к БД если существует конфигурация
туннеля описанного в putty то будет проверятся наличие открытого порта на localhost
и если он закрыт то запускается выше указанный плагин для организации туннеля.
В контекстную справку добавлен просмотр внешних таблиц.
Выводиться предупреждающее сообщение если не создан файл
контекстной справки _func.txt и/или не настроен путь
к файлам справки в формате html.
Файлы которые создаёт приложение помещаются в $XDG_DATA_HOME/pgadmin3 или
~/.local/share/pgadmin3.
Уже существующие файлы копируются из ~/postgresql на новое место.
Каталог postgresql преименовывается в postgresql-no_use. Его можно будет удалить.
Иконки в формате SVG теперь можно размещать и в $XDG_DATA_HOME/pgadmin3 в каталоге svg.
Такая структуры каталога данных приложения:
~/.local/share/pgadmin3
├── icons # иконки для баз данных
├── recovery # сохранённые вкладки
├── svg # каталог svg иконок приложения
├── filter_load.txt # фильтры csv лога для Log view
├── gitlab.json # настройки подключения к git
├── pgadmin3opt.json # дополнительные настройки приложения
└── pgadmin_autoreplace.xml # списки автозамены
Ограничения добавлены для повышения производительности.
Раскраска отключается при размерах строки более 32000 символа (MAX_TEXT_LEN_COLORIZE)
При более 500000 вызывается диалог подтверждения вывода окна подказки (MAX_TEXT_LEN_WARNING).
Вывод подказки для csv пока не ограничен.
Добавлена возможность просмотра скриптов создания пользовательских объектов
в контестной помощи. В скриптах имена других объектов заменяются на ссылки.
Описание Readme.md
Добавлена опция Compat view для All Line режима. В некоторых случаях она делает более красивое выравнивание.
Для примера:
f(iObjId, 1073,'text',null ) ;
f(iObjId+1,130 ,'te' ,iObjId) ;
f(iObjId+2,1 ,'te2' ,iObjId+1);
Исправлено добавление пробелов в конце строки в режиме All Line.
Добавлено использование автоподстановки в окно редактирования процедур и функции.
Добавлена поддержка UTF-8.
Добавлена поддержка unicode для идентификаторов.
Добавлено сохранение выбранных опций в диалоге Выравнивания.
Добавлен контроль прав доступа на select для таблиц и представления
при ипользовании автодополнения.
Добавлен контроль доступа при пролучении информации о подписках.
Добалена совместимость с более ранними версиями при получении информации
о публикациях.
При получении логов в окне "Статус сервера" добавлена проверка наличия прав на используемые функции при получении файлы логов.
Мелкие правки при работе с автодополнениями в окне запросов.
1. Сортировка колонок на вкладках Статистика сохряняется по возможности.
2. Узлы плана которые помечены как (never executed) не подсвечиваются.
3. При построении плана всегда добавляется опция "SUMMARY on"
4. Исправлено не корректное отображение зависимостей для таблиц из публикаций.
5. В отчетах о статистике добавлена итоговая информация по таблицам отчета.
Исправлены пути к файлам для AWR отчетов и сохранения фильтров Log View.
Исправлена падение при вызове "Script Recreate Cascade".
Убрано повтороное назначение Ctrl-G для "View Filtered Rows" теперь вызов происходит по Ctrl-F.
Исправлена работа ctlComboBox.
Для повышение производительности отключен поиск не парной скобки для текстов запросов
более 100000 байт.
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. Добавлена подсветка групп.
Только цвета заданные в настройке "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 файле.