Git Product home page Git Product logo

pgadmin3's Introduction

This text Russian language. English version issue #18

Данные проект поддерживает pgAdmin3 v1.22 Поддержка добавляется по мере возникновения ошибок в оригинальной версии v1.22 или если эти возможности нужны мне. На 10.10.2018 измененены около 70 исходных файлов.

Для удобства последний скомпилированный исполняемый файл будет находиться в каталоге Release. Для работы достаточно заменить оригинальный pgAdmin3.exe.

Будет поддерживаться только оригинальная версия PostgreSQL 12 и PostrgesPro Enterprise.

Полная версия pgAdmin3 находиться тут https://github.com/postgres/pgadmin3.git

Что добавлено:

  • Экспорт результата запроса в Excel

  • Добавлен выбор запроса на исполнение под курсором (Auto-Select)

  • Добавлена настраиваемая автозамена (в меню Правка -> Manage autoreplace)

  • Добавлено автосохранение содержимого закладки после выполнения запроса

  • Добавлена возможность задать имя для закладки и возможность сделать закладку автозагружаемой для конкретной БД

  • Добавлена поддержка процедур

  • Добавлена поддержка секционирования (только отображение в дереве объектов)

  • Удалено отображение узлов имеющих статус (Never execute) на закладке графического плана, но в табличном виде они присутствуют.

01.11.2018

  • Добавлено отображение publications.
  • Добавлено изменение фона при при не закоммиченой транзакции.
  • У Commit/Rollback измененены горячие клавиши

11.12.2018

  • Добавлен поиск в дереве по F4 выделеного текста и если объект найден то его открытие. Если запрос длится более 2 минут то после завершения запроса окно будет мигать.
  • При открытия функции фокус устанавливается сразу на закладку Код.

05.12.2018

  • Добавлена поддержка расширения pgpro_scheduler В разделе Статистика отображается информация о последнем отработавшем задании. Инфомация берётся из лог таблицы pg_log при условии что таблица существует и видна, установлен флаг "Enabled ASUTP style" выводиться результат запроса: select log_time,detail critical,message,application_name from pg_log l where l.log_time>'$Started'::timestamp - interval '1min' and l.log_time<'$Finised' and hint='$name'
  • В выводе результатов запроса ячейки со значениям содержащие символ перевода строки \n подсвечиваются
  • В экспорте результатов запроса в Excel исправлена ошибка при сохранении интервалов
  • При обновлении схемы не блокируется интерфейс если на таблице идет долгая операция cluster Но при F5 на самой таблице блокировка сохраняется (это связано с блокированием функций pg_def* при получинии информации от таблицах) 09.12.2018
  • autocomplite: добавлены имена функций, и возможность подставлять имена колонок таблиц из поля FROM
  • при наборе имени функции появляется перечень параметров этой функции

28.12.2018

  • выполнен переход на wxWidgets 3.0 версия exe файла будет находиться Release_(3.0)
  • в текстовом представлении плана можно сворачивать узлы
  • построении плана с замерами в заголовках строк указывается процент времени выполнения узла (только операции узла, но не вложенных узлов)

11.01.2019

  • исправлены падения приложения при открытии таблицы по нажатию F4

26.01.2019

  • исправлены падения приложения при вводе ( в окне редактирования кода)
  • ускорено открытие диалога "новая функция", "новая таблицы".

09.02.2019

  • исправлены некторые ошибки
  • добавлено копирование sql в html формате(с сохранением цвета)
  • в вывод SQL инструкций для таблиц добавлен закомментированый перечень колонок с типами

11.03.2019

  • исправлено отображение foreign table

10.09.2019 Окно Server Status

  • исправлено падение окна Server Status при аварийном завершении СУБД
  • добавлена расцветка процессов которые блокируют другие процессы

Окно Query

  • добавлен фильтр в окно результатов запроса. Активируется двойным щелчком мыши по ячейке, текст которой и будет являтся условием фильтра. Снимается из контекстного меню. При нажатом Alt условие отбора инвертируется (Скрыть строки содержащие значение).
  • Для избегания ожиданий при получении информации об объектах. Выставляется клиентский параметр SET lock_timeout=15000 для служебного соединения.

04.09.2019

  • добавлена поддержка PostgreSQL 12
  • добавлена поддержка отображения дополнительных опция для индексов
  • в окне запросов добавлена альтернативная кнопка отражающая текущий режим, Transaction (T) или AutoCommit (A)
  • исправлена ошибка в окне поиска объектов при поиске в коментариях

22.12.2019

  • добавлена возможность выполнять сравнение описания объектов разных серверов через меню Отчеты "Compare other objects" Сравнение проводится с другим открытым соединением и подключенной базой. Объекты для сравнения выбираются по дереву вниз. По результатам формируется html отчет различий. В качестве шаблона для отчета используется файл textcompare_report.template, находящийся рядом с исполняемым pgadmin3.exe. Особенности: SQL текст создания последовательностей игнорируется, секции таблиц не учитываются. Полность одинаковые объекты скрываются. Служебные объекты игнорируются.
  • выполнен переход на новые библиотеки dll wxWidgets 3.0.4 скомпилированные под VS2012. Необходимо обновить файлы *.dll

04.03.2020

  • добавлен вывод CREATE STATISTICS для таблиц
  • исправлен вывод SQL команды для создания задания для комманд заданных в виде массива

28.03.2020

  • добавлена информация о фрагментации таблицы (cfs_fragmentation)
  • убрано предупреждение о версии сервера

11.04.2020

  • добавлена многоколоночная сортировка результатов выполнения запроса. Порядок сортировки колонок и направление отмечается цветными индикаторами (RED,YELLOW,GREEN,BLUE,GREY). Максимальное число колонок сортировки 5. Для выполнения сортировки нужно щелкнуть по заголовку колонки удерживая клавишу Alt.
  • добавлены новые опции для Vaccum ( DISABLE_PAGE_SKIPPING ) и Reindex ( CONCURRENTLY )
  • ускорена работа фильтра в окне результав запроса.

13.04.2020

  • исправлено падение в режиме редактирования
  • исправлено редактирование процедур без аргументов

15.04.2020

  • в окне SQL инструкции создания таблицы теперь отображаются новые параметры хранения
  • в описании колонок учтены generated и identity колонки

22.04.2020

  • добавлена возможность создавать дополнительные окна для вывода результатов запроса (не более 9). Для этого запрос нужно выполнить по нажатию Shift+F8. Вывод результатов при выполнении F8 производиться в текущую активную закладку. Окна вывода отмечаются белым квадратом если они были использованы текущей закладкой запросов.
  • при щелчке правой кнопкой мыши на активной закладке результатов в окне запросов выделяется запрос связанный с этим результатом.
  • в окне запросов последний выполненый запрос отмечается зелеными стрелками.
  • при автосохранении закладок, сохраняется позиция курсора

06.05.2020

  • исправлена проблема #4 (Crash after close sql editor)

08.05.2020

  • исправлена проблема #6 (Child tables are not dispayed). Отображение секций из других схем нарушает строгую иерархичность обектов и нужно убедиться что всё нормально в вашем случае. Секции всегда группируются в узел Partitions который находиться в родительской таблице. В родной схеме, секции как таблицы увидеть нельзя.
  • мелкие улучшения

02.09.2020

  • добавлена возможность копировать в буфер обмена выделенные ячейки результата запроса в формате IN списка и Where конструкций. Вызывается из контекстного меню.
  • в Server status окне добавлена возможность фильтровать строки по щелчку правой кнопкой мыши.
  • иправлено issues #8 (dropping overloaded procedures)

05.09.2020

  • при сравнении объектов добавлена возможность исключать сравнение привелегий и комментариев.
  • исправлено копирование текста запроса из под фильтра в Server status окне. При сравнении текста из колонки Client порт не учитывается.

05.12.2020

  • много мелких исправлений
  • добавлены некоторые новые возможности PG13. Описание в коммитах.
  • добавлена проверка btree индекса. Проверка выполняется функцией bt_index_parent_check(regclass,true) из расширения amcheck. Расширение должно быть установлено в БД к которой происходит подключение pgadmin3.

02.01.2021

  • добавлена сортировка на вкладках "свойства" , "Статистика" и других.
  • по секционированным таблицам в статистеке выводятся все потомки.

03.01.2021

  • скомпилирована 64 битная версия pgAdmin3.exe
  • 32 битная больше не поддерживается

19.02.2021

  • Сохраняется расположении окон при скрытии outputPane и применяется при его показе.
  • Появилась возможность менять иконку query окна. Есть два способа изменения icon для окна query.
    1. Поместить новую icon в %APPDATA%\postgresql\icons Имя файла задать следующим образом: hostname_dbname.png или hostname.png или dbname.png Размер icon 32х32
    2. Задать для сервера цвет. Фон icon будет окрашен в цвет сервера.

19.08.2021

  • добавлено окно просмотра CSV лога базы. Окно вызывается из контекстного меню сервера "Log view ...".

    После открытия окна читается непосредственно файл лога функцией pg_read_binary_file Выбирается файл с самой свежей датой изменения. Проверка новых сообщений проводиться каждые 5 секунд. Можно добавить другие сервера на панели "Settings". Настройки применяются после закрытия окна и повторного его открытия. Если окно лога не активное и приходит сообщения уровня Error и выше, то иконка отмечается красным квадратом. Если на заладке "Settings" выбрано несколько серверов, то происходить автоматическое подключение к ним. После подключения все открытые сервера в дереве объектов можно закрыть одной командой контекстного меню "Disconnect all servers". ВНИМАНИЕ: память требуемая для хранения логов ни чем не ограничивается (кроме фильтрации на этапе загрузки лога) и возможно выделения большого количества памяти. Отображаются строки лога в двух режимах:

    • Простой. Отобразаются все полученные строки лога
    • Групповой. Строки с похожими сообщениями объединяются в группу и видимой строкой является самая последняя строка в группе. Для просмотра всех строк группы нужно установить флаг "View detail group". Сообщения будут похожими если они отличаются только числами и если они не в двойных кавычках. В групповом режиме в поле host показываются счетчик свежих сообщений попавших в группу. Счетчик сбрасывается при установке курсора на строку группы. Для исключения из просмотра ненужных строк используются поколоночные фильтры. Для включения фильтра нужно:
    • Щелкнуть правой кнопкой мыши по полю. Для инверсии фильтра нужно удерживать Ctrl.
    • Выбрать значение в контекстном меню заголовка колонки. Там отображаются 20 самых частых значения в колонке с указанием количества этих значений.
    • Ввести в поле значения для фильтра, выделить это значение и нажать Enter. Для фильтра используется только выделенный текст. Такой фильтр будет работать на поиск выделенного вхождения в поле. Если в выделенной строке первым символом будет "!" то фильтер инверсируется.
    • каждое отдельное значение фильтра можно удалить через контекстное меню заголовка колонки. Для более высокой производительности рекомендуется проводить загрузку логов с включенным "Mode group". Или сбрасывать "Mode group", но при установленных фильтрах. Отображение большого число строк (более 10000 ) происходит несколько секунд и более.
    • Есть возможность отсеять строки на этапе загрузки. Для этого установите фильтры на строки и нажмите "Add Filter Ignore" этот фильтр будет записан в файл filter_load.txt.

13.09.2021

  • Добавлено меню закрытия всех открытых серверов "Disconnect all servers" 13.01.2022
  • Для Log view добавлена: подержка быстрой навигации: Shift+KeyUP,KeyDOWN переход на запись с тем же sql_state, Alt+KeyUP,KeyDOWN - переход на запись с другим sql_state Добавлена колонка Server - сервер с которого получен лог.
    • Ctrl+S отправка сообщения по почте Outlook. Шаблон письма в файле mail.template В первых двух строках шаблона можно указать адреса которые будут подставляться в письмо.
  • В frmLog добалены сохраняемые пользовательские фильтры. По кнопке Add текущий фильтр сохраняется. Имя задается в ComboBox.
  • В окне "Status Server" устанавливается парамер "SET statement_timeout=10000;" и "SET log_min_messages = FATAL" чтобы избежать зависания функции pg_query_state.
  • При возникновении ошибки "server closed the connection unexpectedly" сообщение об этом теперь не выводиться на экран. Т.к. происходило падение pgAdmin3

06.07.2022 Добавлена частичная поддержка возможностей PG15:

  • поддержка списка колонок при задании FK
  • поддержка NULLS NOT DISTINCT для уникальных индексов

24.11.2022 Добавлена эксперементальная функция работы с gitLab. Для работы с gitlab необходимо положить файл gitlab.json в каталог %APPDATA%\postgresql. Вот пример содержимого файла: { "url": "https://gl.mympany.ru:4443/api/v4/", "private_token": "V3JYpw2x5rr61yGe_M2e", "project_id": "532" } После запуска pgAdmin3 появится вкладка Git на которой будут дополнительные закладки. Пока для работы с GitLab можно выполнять только коммиты на дополнительной вкладке Commit. В GitLab сохраняются только содержимое объектов схем. Сохраняется только SQL представления. Алгоритм работы такой:

  • из файл gitlab.json берётся информация для соединения с gitLab
  • из ветки по умолчанию (обычно это main) считывается файл pgadmin3.json с общими настройки.
  • если такого файла не то настройки беруться из gitlab.json
  • вот пример настроек из pgadmin3.json { "ignore_schema": ["public","repack","schedule"], "control_objects": ["Functions","Views","Tables","Trigger Functions","Procedures","Schemas","Schema","Database"], "maps_branch_to_dbname":[ {"branch": "asu", "list_db": ["asu"] } , {"branch": "common_db", "list_db": ["dbname1","dbname2"] }

] } Где: "ignore_schema" - список схем которые не нужно сохранять и git "control_objects" - перечень типов объектов схемы которые нужно сохранять. "maps_branch_to_dbname" - сопостовление имен веток и имен БД.

  • нажимается кнопка "Load Git" и загружается SQL предствления объектов из GitLab После этой операции список "List commit files" будет заполнен расхождениями текущей БД и веткой в GitLab
  • Если выбрать несколько элементов (или все нажав Ctrl+A) то указав название коммита и нажав на кнопку "commit" можно закомитить текущее SQL представление выбранных элементов в GitLab
  • нажатие правой кнопки мыши на каком либо элементе списка покажет различия между объектов в БД и GitLab. Все прочие кнопки и закладки использовать не нужно. Типовой способ использования, ведение историй изменений объектов БД в GitLab.

02.05.2023 Добавлена возможность выравнивания списков команд insert и других структурированных данных (списки IN). В настройках можно задать внешнюю утилиту которая на вход принимает выделенный текст а на выходе выдаёт выровненый. Если утилиту не задавать то выравнивание будет выполнено pgadmin3 (код проверенен не полностью, возможны зависания) Подробное описание в commit https://github.com/levinsv/pgadmin3/commit/c197ea45c18385204497a1f53f1fda184c6cc86b

22.05.2023 Для улучшения наглядности и понимания в какой БД мы находимся в строке браузера объектов при выделении элемента будет напротив отображаться имя БД. Это поведение можно отключить в настройках.

06.06.2023 Если поиск в дереве объектов начинается с сервера, то он продолжается только среди серверов без поиска в глубину.

29.06.2023

pgAdmin3.exe собран с новой версий wxWidgets 3.2 для улучшения работы с DPI. Обновите wx*.dll файлы. Исполняемый файл компилируется со манифестом для указания поддержки DPI. Появилась возможность заменить PNG иконки в toolbar на svg иконки. Для этого нужно создать каталог svg в каталоге исполняемого файла и поместить файлы файлы с раширением svg. Имя файла должно быть таким же как и имя файла оригинального PNG из каталога include/images. На данныый момент можно заменить иконки основного окна, окна запроса, и окна статуса сервера. Имена файлов можно найти в исходных кодах поиском строки *GetBundleSvg. Во время первого запуска возможно авариное завершение pgAdmin3.exe. Перед первым запуском сохраните копию файла autoSaveConfig.reg Если будет такая потребность можно и другие иконки перевести на svg.

Выполнена оптимизация по производительности обновления дерева объектов и отображение результатов запросов.

02.08.2023

  • исправлено зацикливание программы при выполнении pgScript.(изменились правила обработки wxRegEx)
  • устранены утечки GDI объектов.
  • добавлена возможность скрытия/отображения панели с историей запросов.
  • добавлены некторые возможности PG16: * отображение новых опций члена роли SET и INHERIT. В диалогах их установить нельзя.

05.08.2023

  • Можно включить более понятное отображение больших чисел на странице Статистика. Для этого устновите флажок "Beautiful big numbers on the statistics page".

27.10.2023

02.02.2024

  • При помощи контекстной команды "Compare 2 Cells" можно сравнить 2 не пустые ячейки в результе запроса.
  • При потере фокуса окна редактора запроса, вернуть его можно было только нажав на окно левой кнопкой мыши. Теперь это можно сделать нажав на имя закладки.
  • Исправлена проблема при автовыборе запроса содержащего многострочный комментарий с символом ;
  • Исправлена проблема c отображением свойства is_cycled последовательности. Начиная с 10 версии это свойство ошибочно всегда определялось как false.

pgadmin3's People

Contributors

elnull avatar levinsv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pgadmin3's Issues

Изменение языка программы

Добрый день,

Во-первых, спасибо большое за поддержку программы!

Ранее при использовании программы у меня не было никаких проблем с переключением языка интерфейса на английский язык.
Однако в текущей версии появилась проблема. У меня OS русскоязычная и поэтому программа всегда пыталась перейти на использование русского языка. Я менял его в настройках. Однако сейчас появилась проблема:
изображение
нет возможности выбрать другой язык, так как нет ни одного языка для выбора.
Подкаталог i18n у меня есть и в нем много языков:

04.04.2022  17:05    <DIR>          .
04.04.2022  17:05    <DIR>          ..
04.04.2022  17:05    <DIR>          ca_ES
04.04.2022  17:05    <DIR>          cs_CZ
04.04.2022  17:05    <DIR>          de_DE
04.04.2022  17:05    <DIR>          es_ES
04.04.2022  17:05    <DIR>          fr_FR
04.04.2022  17:05    <DIR>          ja_JP
04.04.2022  17:05    <DIR>          lv_LV
04.04.2022  17:05    <DIR>          pl_PL
04.04.2022  17:05    <DIR>          ru_RU
04.04.2022  17:05    <DIR>          sr_RS
04.04.2022  17:05    <DIR>          zh_CN
14.02.2018  19:45             1 748 pgadmin3.lng
14.02.2018  19:45            36 169 pg_settings.csv

Ранее возможность выбора языка была, а сейчас его нет.
Подскажите как можно установить английский язык?

Проблема в использовании к примеру русского в том, что выскакивает вот такая проблема:
изображение
но я бы конечно всё равно хотел бы изменить язык на английский, привык уже

Странное скриптование кода тригера

создаём вот такой триггер

CREATE TRIGGER trg_dbo_arbitr_managers_tsvectorupdate
	BEFORE INSERT OR UPDATE ON dbo.arbitr_managers
	FOR EACH ROW
	EXECUTE PROCEDURE pg_catalog.tsvector_update_trigger('tsv', 'public.fts_hunspell_en_ru', 'last_name', 'first_name', 'middle_name');

pg_catalog.tsvector_update_trigger - это системная функция поддержки поля типа tsvector

получаем на выходе в окошке код:

-- Trigger: trg_dbo_arbitr_managers_tsvectorupdate on dbo.arbitr_managers

-- DROP TRIGGER trg_dbo_arbitr_managers_tsvectorupdate ON dbo.arbitr_managers;

CREATE TRIGGER trg_dbo_arbitr_managers_tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON dbo.arbitr_managers
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger(E'\\x747376007075626c69632e6674735f68756e7370656c6c5f656e5f7275006c6173745f6e616d650066697273745f6e616d65006d6964646c655f6e616d6500');

4-й PgAdmin код генерит корректно.

Ошибки в PostgreSQL < 9.6

Добрый день.
На PostgreSQL 9.3 (PostgreSQL 9.3.19, compiled by Visual C++ build 1600, 64-bit) при подключении к серверу или разворачиванию БД падает ошибка:
12:34:03 PM: Error: ERROR: function to_regproc(unknown) does not exist LINE 1: select to_regproc('pgpro_edition')::text ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.

На PostgreSQL 9.5 (PostgreSQL 9.5.12, compiled by Visual C++ build 1800, 64-bit)
При разворачивании схемы или списка функций падает ошибка:
12:35:26 PM: Error: ERROR: column pr.proparallel does not exist LINE 4: , CASE WHEN pr.proparallel = 'r' THEN 'RESTRICTED' WHE... ^

Bug in PG10

in schema/pgindex.cpp line 204-206 is wrong , indnkeyatts property first arrive in PG 11.x , not PG 10.x

if (GetConnection()->BackendMinimumVersion(10, 0))
 query += ","+ NumToStr(i)+" <= i.indnkeyatts AS is_key\n"; 
else query += ",true AS is_key\n";

Error

Прошу добавить в TEXT SEARCH CONFIGURATION скриптование MAPPING FOR word,...

Спасибо вам за поддержку и развитие программы!

Анализатор postgres для команды настройки FTS конфигурации выдаёт всего 23 типа фрагмента для маппинга.
https://postgrespro.ru/docs/postgresql/13/textsearch-parsers
Один из них, blank, конечно нет смысла обрабатывать в скриптовании команды TEXT SEARCH CONFIGURATION.
Однако вот все другие (22) есть смысл скриптовать. На сейчас скриптуется только 18 типов:

asciihword
asciiword
email
file
float
host
hword
hword_asciipart
hword_numpart
hword_part
int
numhword
numword
sfloat
uint
url
url_path
version

прошу добавить ещё 4 типа фрагмента:

entity
protocol
tag
word

Спасибо большое!

Child tables are not dispayed

Hi. With inherit partititioning, child tables are not display in tree. In parent table (partitions sub menu) there are also not.
Checked on pg 10

Search Objects bug

Добрый день!
К сожалению не нашёл как с Вами можно связаться, потому напишу тут
При поиске объекта (Ctrl+G) при нажатии кнопи поиск вылетает исключение

[Window Title]
pgAdmin III
[Main Instruction]
An error has occurred:
[Content]
12:22:50: Error: ERROR:  column p.prokind does not exist
LINE 1: ...'trigger' THEN 'Trigger Functions' ELSE case when p.prokind=...
                                                             ^
HINT:  Perhaps you meant to reference the column "p.probin".
[OK]

search_object

не могли бы Вы это пофиксить?
Или дать наводку с чем это может быть связано, если это проблема локального характера

Ошибка скриптования объекта Event Trigger

Добрый день,

Во-первых, спасибо большое за продолжение работ по поддержке программы!

Суть проблемы:
при создании триггеров событий такими командами как:
CREATE EVENT TRIGGER dbots_tg_on_ddl_event ON DDL_COMMAND_END EXECUTE PROCEDURE public.dbots_on_ddl_event();
CREATE EVENT TRIGGER dbots_tg_on_drop_event ON SQL_DROP EXECUTE PROCEDURE public.dbots_on_drop_event();
и последующим их скриптованием, получаем вот такое:

-- Event Trigger: dbots_tg_on_ddl_event on database scan

-- DROP EVENT TRIGGER dbots_tg_on_ddl_event;

CREATE EVENT TRIGGER dbots_tg_on_ddl_event ON ddl command end EXECUTE PROCEDURE public.dbots_on_ddl_event();

и

-- Event Trigger: dbots_tg_on_drop_event on database scan

-- DROP EVENT TRIGGER dbots_tg_on_drop_event;

CREATE EVENT TRIGGER dbots_tg_on_drop_event ON sql drop EXECUTE PROCEDURE public.dbots_on_drop_event();

Прошу обратить внимание, что пропал знак подчеркивания внутри имени события на которую подписывается триггер:
DDL_COMMAND_END -> ddl command end
SQL_DROP -> sql drop

Прошу поправить скриптование таких объектов.

Спасибо!

Вопросы по использованию

Привет!

Как отключить автосохранение последнего выполненого запроса в редакторе запросов?
И как отключить иконки, которые прявляются слева по наведению на левую часть в браузере объектов?

Cкриптование include полей в PK

Спасибо большое за вашу работу над проектом!

Благодарю за работу над issue #13
INCLUDE поля в индексах btree и gist теперь отображаются.

Остался неучтённым факт того, что такие поля могут быть и в первичных ключах - PK
Я кстати этим активно пользуюсь :)
Прошу добавить поддержку вывода INCLUDE полей в PK
Пример для воспроизведения:

CREATE TABLE my_table
(
    id_newswire integer NOT NULL,
    uid_news uuid NOT NULL,
    created_date timestamp with time zone NOT NULL,
    publish_date timestamp with time zone NOT NULL,
    news_text text,
    CONSTRAINT pk_my_table PRIMARY KEY (id_newswire, uid_news)
        INCLUDE(publish_date)
);

pgAdmin Server Status Icon Issue

Thank you very much for keeping pgAdmin 3 updated with the latest PostgreSQL versions.
I have encountered an issue with the Server Status and was hoping for some assistance. As seen in the attached screenshot, the “Cancel Query” and “Terminate backend” icon buttons do not seem to be functioning properly. Whenever I click on a target session, it briefly flashes but then becomes disabled and inactive. I am unsure if this is a bug or if there is a workaround that I could try.
pgadmin-server-status

Crash after close sql editor

Hi. Thank for what you did. Just installed (install latest pgadmin3, replace all files from release_3) and launched. However, after closing sql editor, pgadmin3 crashes with an error - unhandled win32 exception. Win 10, x64
Thank for help

О postgresql 12

Здравствуйте, использую вашу версию pgAdmin 3.
Установил у себя PostgreSQL 12.1 (не путайте с postgrespro), при выполнении подключения через pgAdmin вашей реализации получаю следующее сообщение:
Предупреждение: Версия сервера, к которому вы подключаетесь, не поддерживается данным выпуском pgAdmin III. При работе с pgAdmin III могут возникать ошибки. Поддерживаемые версии сервера: 8.4 - 12.

Невозможно вставить из буфера обмена в новом окне

Если скопировать текст где-то за пределами открытой вкладки, то пункты главном меню Edit остаются неактивными. Горячими кнопками тоже вставить не получается. Только из контекстного меню.

Скриншот главного меню:
Снимок экрана 2022-02-21 в 14 09 13

В этом же состоянии скриншот контекстного меню:
Снимок экрана 2022-02-21 в 14 09 25

Я тебя обожаю, чувак !

Спасибо за работу по обновлению pgadmin3 ! Таскать полгиговый pgadmin4 это очень большое усложнение для vds, где каждый гиг денег стоит.

Спасибо !

Задачу можно закрывать :)

Features request

Hello there!
I'd like to ask for two features that would make my life easier:

  • ability to change color of database instances icons (they are always beige).
  • ability to configure the output pane shortcut (it's crtl + alt + o) and when toggling the output pane on/off it would return to the previous position on the screen and not the default one.

Thanks!!!

Windows build info

Hi, first of all I want to thank you for this fork and updates. I really hate new pgAdmin 4 and I need to use actual PostgreSQL version, so I'm vary grateful for your Windows binaries. I want to ask you, if it's possible to add some info about how to build pgAdmin III in Windows. I was trying do this for two days with official INSTALL documentation, but I failed. Thanks.

Can't delete single row

When single row is selected , I can't delete such row , only when 2 or more rows are selected then delete button is active.

double_delete
single_row_cantdelete

Can't Open/Connect to Newly Created Postgres 10 database

I can use the latest pgadmin3 build to create a new database on postgres 10, but when I try to open/connect to it, I am getting an error dialog box which says "ERROR: No such Database: <database_name>". The database does appear in the object browser tree, each time I connect to the server. It a;los does show the properties of the database in the properties tab, and the SQL for the database created in the SQL pane, after I click ok on the error dialog. It just won't open/connect to that database. It will connect to prior existing databases on the same server.

I hope you can fix this issue as I think your enhanced version of pgadmin 3 is my favorite postgresql tool (over the latest pgadmin 4).

Переназначение горячих клавиш (хотя бы некоторых)

Сделайте пожалуйста переназначение горячих кнопок, может быть не всех, а части. F8 на запуск скрипта, это немного непривычно, раньше было F5, как и много где ещё. При одновременном пользовании, например, SQL Server Management Studio и pdAdmin приходится напрягать мозг почём зря)

PostgreSQL 12.2 support

I'm getting similar issues as @Torins-coder in #1 with PostgreSQL 12.2.

Would it be possible to make it work with the latest release? I know plenty of people, who hate pgAdmin4 and would love to see pgAdmin3 back in their life.

Большой timeout

Добрый день,
в нашей инфрастуктуре коннекты к БД частенько теряются, и тогда при попытке выполнить запрос PgAdmin "надолго" зависает:
изображение
можно ли уменьшить его значение хотя бы до 5 секунд, уж очень долго приходится ждать ответки ...

корректное скриптование include полей в индексах

Спасибо за вашу работу над проектом!

Прошу добавить поддержку в скриптовании индексов INCLUDE полей
Сейчас они просто выводятся в части общего индексного выражения, что неверно.
В настоящее время ( 13-я версия) эту возможность поддерживают только методы доступа индексов B-дерево и GiST.

Функционал для шифрования файла с паролями pgpass.conf

Добрый день.

Спасибо большое за поддержку PgAdmin3.

У меня вопрос, нет ли возможности реализовать шифрование файла хранилища паролей? В данный момент файл pgpass.conf хранит данные для подключения в открытом виде, примерно по такому пути:

c:\users\%username%\appdata\roaming\postgresql\pgpass.conf

Было бы полезно иметь возможность зашифровать pgpass.conf мастер паролем и указывать его при запуске программы.

README_EN.md

This project is based on pgAdmin3 v1.22. I'm supporting it to fix bugs, which occur original version or to add new features, I'm interested in. As of 2018-10-10 about 70 source files have been changed.

For convenience, the last compiled executable will be in the Release directory. You only need to replace the original pgAdmin3.exe to make it work.

Only the original version of PostgreSQL 12 and PostrgesPro Enterprise will be supported.

The full version of pgAdmin3 can be found here https://github.com/postgres/pgadmin3.git

What's added:

  • Exporting query results to Excel
  • Added selection of a query to be executed under the cursor (Auto-Select)
  • Added a customizable autoreplace (Edit -> Manage autoreplace)
  • Added auto-saving of bookmark content after request execution
  • Added possibility to set a name for a bookmark and ability to make the bookmark autoloadable for a specific database
  • Added support of procedures
  • Added sectioning support (displaying in an object tree only)
  • Removed display of nodes with status (Never execute) on the graphical plan tab, but they are present in tabular form.

2018-11-01

  • Added display of publications.
  • Added background change for transactions that are not committed.
  • Changed hotkeys for Commit/Rollback

2018-12-11

  • Added F4 search for selected text in tree and opening of the object if it was found. If the request lasts more than 2 minutes, then after the end of the request the window will blink.
  • When opening the function, the focus is set immediately on the Code tab.

2018-12-05

  • Added support for the pgpro_scheduler extension In the Statistics section displays information about the last worked task. Information is taken from the log table pg_log provided that the table exists and is visible, the flag "Enabled ASUTP style" is set, the result of the query is displayed: select log_time,detail critical,message,application_name from pg_log l where l.log_time>'$Started'::timestamp - interval '1min' and l.log_time<'$Finised' and hint='$name'
  • Cells with values containing the line feed symbol\n are highlighted in the query result output
  • Saving intervals error fixed in Excel export of query results
  • When updating schema, the interface is not blocked if there is a long operation on the table, but when F5 is on the table the block is kept (it is connected with blocking of functions pg_def* when getting information from tables) 09.12.2018
  • Autocomplete: added function names, and ability to substitute table column names from FROM field
  • When you type the function name, a list of parameters for this function appears

2018-12-28

  • Migrated to wxWidgets 3.0 exe file version will be Release_(3.0)
  • Nodes can be collapsed in the text view of the plan
  • Building a plan with measurements in the headings of the lines indicate the percentage of the execution time of the node (only the operations of the node, but not the nested nodes)

2019-01-11

  • Fixed application crashes when opening a table by pressing F4

2019-01-26

  • Fixed application crashes when entering (in the code editing window)
  • Accelerated opening of "new function", "new table" dialog.

2019-02-09

  • Some bugs fixed
  • Copying SQL in HTML format (with color preservation) was added
  • Commented list of columns with types added to SQL instruction output for tables

2019-03-11

  • Corrected display of foreign tables

2019-09-10

Server Status window

  • Fixed Server Status window crash on DBMS crash
  • Added coloring of processes that block other processes

Query window

  • Added filter to the query result window. Double-click in a cell, which text will be a filter condition. You can take it out of the context menu. If Alt is pressed, the selection condition is inverted (Hide rows that contain a value).
  • To avoid expectation at getting information about objects. The client parameter SET lock_timeout=15000 for the service connection is set.

2019-09-04

  • Added support for PostgreSQL 12
  • added support for displaying additional options for indexes
  • Added an alternative button in the query window to reflect the current mode, Transaction (T) or AutoCommit (A)
  • Fixed a bug in the object search window when searching in the comments

2019-12-22

  • Added the ability to perform a comparison of object descriptions of different servers through the Reports menu "Compare other objects" Comparison is performed with another open connection and connected database. The objects for comparison are selected down the tree. Based on the results a HTML report of differences is generated. The textcompare_report.template file, located next to the executable pgadmin3.exe, is used as a template for the report. Features: The SQL text of the sequence creation is ignored, table sections are not taken into account. Totally identical objects are hidden. Service objects are ignored.
  • New wxWidgets 3.0.4 dll libraries compiled for VS2012 are implemented. It is necessary to update *.dll files.

2020-03-04

  • CREATE STATISTICS output for tables was added.
  • SQL output for array commands was fixed

2020-03-28

  • Information on table fragmentation (cfs_fragmentation) added
  • Warning message about the server version was removed.

2020-04-11

  • Added multi-column sorting of query results. The sorting order of columns and direction is marked with color indicators (RED,YELLOW,GREEN,BLUE,GREY). The maximum number of sorting columns is 5. To perform sorting, click on the column header while holding down the Alt key.
  • New options for Vaccum ( DISABLE_PAGE_SKIPPING ) and Reindex ( CONCURRENTLY ) were added.
  • The filtering in the query results window has been accelerated.

2020-04-13

  • Fixed crash in edit mode
  • Fixed editing procedures without arguments

2020-04-15

  • SQL instruction window for table creation now displays new storage parameters
  • column descriptions now include generated and identity columns

2020-04-22

  • New feature allowing to create additional windows for outputting the query results (not more than 9). For this purpose, the query should be executed by pressing Shift+F8. The results are displayed in the currently active tab when executing F8. The output boxes are marked with a white square if they have been used by the current query tab.
  • Right-clicking the active results tab in the query window highlights the query related to that result.
  • The last executed query is marked with green arrows in the query window.
  • When auto-saving bookmarks, the cursor position is saved.

2020-05-06

  • Fixed problem #4 (Crash after closing SQL editor)

2020-05-08

  • Fixed problem #6 (Child tables are not displayed). Displaying sections from other schemas breaks the strict hierarchy of objects, so make sure everything is normal in your case. The sections are always grouped in the Partitions node, which is located in the parent table. In the native schema, you cannot see sections as tables.
  • Minor improvements

2020-09-02

  • We added the ability to copy the selected cells of the query result to the clipboard in the IN list format and Where constructions. Called from the context menu.
  • Added possibility to filter rows by right mouse click in Server status window.
  • Fixed issues #8 (dropping overloaded procedures)

2020-09-05

  • When comparing objects, added possibility to exclude comparison of privileges and comments.
  • Fixed copying the query text from the filter in Server status window. When comparing text from Client column the port is not taken into account.

2020-12-05

  • A lot of small fixes
  • Added some new features to PG13. Description in commits.
  • Added a btree index check. The check is performed by the function bt_index_parent_check(regclass,true) from the amcheck extension. The extension must be installed in the database to which pgadmin3 connects.

2021-01-02

  • Added sorting in the tabs "Properties", "Statistics" and others. , Statistics" and others.
  • By sectioned tables, all descendants are displayed in statistics.

2021-01-03

  • 64-bit version of pgAdmin3.exe was compiled.
  • 32-bit is not supported anymore

2021-02-19

  • Kept window layout when outputPane is hidden and applied when outputPane is shown.
  • Ability to change window's icon. There are two ways to change the icon of the query window.
  • Put new icon in %APPDATA%\postgresql\icons File name as follows: hostname_dbname.png or hostname.png or dbname.png Icon size 32x32
  • Set color for server. The icon background will be colored in the server's color.

2021-08-19

  • Added CSV log viewing window. The window is called from the context menu of the server "Log view...".
  • After opening this window the log file is read using the pg_read_binary_file function. The file with the most recent modification date is selected. New messages are checked every 5 seconds. You can add other servers in Settings panel. The settings are applied after the window is closed and re-opened. If the log window is not active and there are messages of the Error level or higher, the icon is marked with a red square. If several servers are selected in the "Settings" tab, then there is an automatic connection to them. After connecting, all the open servers in the objects tree can be closed by one command from the context menu "Disconnect all servers". WARNING: the memory required to store logs is not limited by anything (except filtering at log loading stage) and it is possible to allocate a large amount of memory. Log lines are displayed in two modes:
    • Simple. All log lines are displayed.
    • Group. The lines with similar messages are combined into a group and the last line in the group is the visible line. To view all lines of the group it is necessary to set the flag "View detail group". Messages will be similar if they differ only in numbers and if they are not in double-quotes. In group mode, the host field will display a count of the most recent messages in the group. The counter is reset when you place the cursor on the group row. To exclude unnecessary rows from viewing, column filters are used. To turn on the filter you need:
      • Right-click on the field. To invert the filter, hold down the Ctrl key.
      • Select the value in the context menu of the column header. It displays the 20 most frequent values in the column with the number of these values.
      • Enter a value for the filter in the field, highlight that value, and press Enter. Only the highlighted text is used for the filter. Such a filter will work to find the highlighted occurrence in the field. If the first character in the highlighted line is "!" then the filter is inverted.
      • Each individual filter value can be removed through the context menu of the column header. For better performance, it is recommended to load logs with "Mode group" enabled. Or reset "Mode group", but with filters installed. Displaying a large number of lines (more than 10000 ) takes a few seconds or more.
      • It is possible to drop rows at the stage of loading. To do this, set filters on the rows and click "Add Filter Ignore" this filter will be written to the file filter_load.txt.

2021-09-13

  • Added "Disconnect all servers" menu for closing all open servers

2022-01-13

  • For Log view added: support for fast navigation: Shift+KeyUP, KeyDOWN switch to the record with the same sql_state, Alt+KeyUP, KeyDOWN switch to the record with another sql_state Added column Server - server from which the log is received.
  • Ctrl+S Send a message to Outlook mail. Mail template in the mail.template file In the first two lines of the template, you can specify the addresses to be substituted in the letter.
  • In frmLog there are added custom filters that can be saved. The current filter will be saved by clicking the Add button. The name is set in the ComboBox.
  • In the window "Status Server" the parameters "SET statement_timeout=10000;" and "SET log_min_messages = FATAL" are set to avoid hanging of the function pg_query_state.
  • If a "server closed the connection unexpectedly" error occurs, the message about it is no longer displayed, which caused crashing.

2022-07-06

  • Added partial support for PG15 features:
  • Support for list of columns when setting the FK
  • NULLS NOT DISTINCT support for unique indexes

2022-11-24

  • Added experimental gitLab feature. To work with gitlab you need to put file gitlab.json in %APPDATA%\postgresql directory. Here is an example of the contents of the file: { "url": "https://gl.mympany.ru:4443/api/v4/", "private_token": "V3JYpw2x5rr61yGe_M2e", "project_id": "532" } After launching pgAdmin3 the Git tab will appear with additional tabs. For now, you can only commit to work with GitLab on the additional Commit tab. Only the contents of schema objects are saved in GitLab. Saved only SQL representations.

    The algorithm is as follows:

    • From the gitlab.json file, information is taken to connect to gitLab
    • From the default branch (usually it's main) is read pgadmin3.json file with the general settings.
    • If there is no such file, the settings are taken from gitlab.json

    Here is an example of settings from pgadmin3.json { "ignore_schema": ["public", "repack", "schedule"], "control_objects": ["Functions", "Views", "Tables", "Trigger Functions", "Procedures", "Schemas", "Schema", "Database"], "maps_branch_to_dbname":[ {"branch": "asu", "list_db": ["asu"] } , {"branch": "common_db", "list_db": ["dbname1", "dbname2"] } ] } Where: "ignore_schema" - list of schemas that do not need to save and git "control_objects" - list of schema object types that need to save. "maps_branch_to_dbname" - the comparison of the names of branches and database names.

    Press the "Load Git" button and loading SQL representations of objects from GitLab After this operation the list of "List commit files" will be filled with a discrepancy between the current database and a branch in GitLab
    If you select some elements (or all by pressing Ctrl + A) then, having specified the name of a commit and having pressed the button "commit" it is possible to close current SQL representation of the chosen elements in GitLab
    Right-clicking on any item in the list will show the differences between objects in the database and GitLab. All other buttons and bookmarks do not need to be used. A typical way to use, to keep histories of changes of objects in the database in GitLab.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.