


31 октября команда pgAdmin опубликовала анонс версии 9.19 с исправлениями 15 уязвимостей. В документации дата самого релиза указана как 29 октября. Для читателей Mentoring.digital главное практическое изменение касается серверных установок: перед обновлением нужно проверить способ получения паролей и используемые учётные данные.
В серверном режиме произвольный текст Password Exec Commands больше не исполняется. Администратор задаёт именованные разрешённые команды в SERVER_PASSEXEC_COMMANDS, а пользователь выбирает имя в свойствах подключения. Команды запускаются без оболочки и с сокращённым окружением.
Настройку следует подготовить до первого запуска после обновления. Сохранённая команда, которая точно совпадает с разрешённой, преобразуется в её имя; остальные команды очищаются без возможности отменить это преобразование. Если список пуст, преобразование откладывается, а при запуске записывается предупреждение. Прежний параметр ENABLE_SERVER_PASS_EXEC_CMD объявлен устаревшим и игнорируется.
Исправления затрагивают вход через LDAP и Kerberos, доступ к файлам подключения и использование секретов сервисной учётной записи. В серверном режиме SSH-туннели больше не используют SSH-agent и файлы из домашнего каталога пользователя, от которого работает pgAdmin. Подключению, которое зависело от такого поведения, потребуется явно заданный ключ или пароль.
Редакционная рекомендация: сначала сохраните конфигурацию и проверьте обновление на тестовой установке. Включите в проверку вход разных пользователей, личное и общее подключение, получение пароля и SSH-туннель. Успешное открытие Query Tool под администратором не подтверждает сохранность остальных сценариев.
Query Tool получил сохранение результатов в JSON и XML наряду с CSV. Также добавлены узел расширенной статистики и редактирование данных через простые автоматически обновляемые представления. Это возможности инструмента администрирования, а не изменение правил работы самого SQL.
После перехода проверьте кодировку выгрузки, заголовки столбцов и повторное чтение файла тем приложением, для которого он предназначен. Разобрать SQL-запросы и работу с результатами можно с наставником по SQL; настройку окружения и порядок обновления стоит обсуждать с ментором по DevOps.