Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
В течении длительно периода времени пишу для себя инструмент для проектирования БД
По функционалу - близок к IBExpert. Идеология интерфейса - тоже под его влиянием.
Решил вынести на суд общественности.
http://w7site.ru/fpc/fbm/

Исходники открыты
https://github.com/lalexs75/FBManager
Всё на FPC/Lazarus.
9 окт 19, 09:14    [21990057]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Сисдба Мастеркеевич
Member

Откуда:
Сообщений: 394
alexs75,

PARTIAL INDEX не умеет в скрипт извлекать
21 окт 19, 09:56    [21998645]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
lr2
Member

Откуда:
Сообщений: 118
psql круче.
21 окт 19, 10:37    [21998685]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Сисдба Мастеркеевич,
Посмотрю. Спасибо за замечание

lr2
Не спорю что вам так удобнее :-)
21 окт 19, 13:06    [21998933]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3411
alexs75
В течении длительно периода времени пишу для себя инструмент для проектирования БД
По функционалу - близок к IBExpert. Идеология интерфейса - тоже под его влиянием.
Решил вынести на суд общественности.
http://w7site.ru/fpc/fbm/

Исходники открыты
https://github.com/lalexs75/FBManager
Всё на FPC/Lazarus.


на чем это написано? дельфи?
21 окт 19, 14:31    [21999049]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Ролг Хупин
на чем это написано? дельфи?

Lazarus + FPC
Основное обсуждение и все анонсы - freepascal.ru
21 окт 19, 15:28    [21999116]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3411
alexs75
Ролг Хупин
на чем это написано? дельфи?

Lazarus + FPC
Основное обсуждение и все анонсы - freepascal.ru


не, ну, вроде 2019 уже.....
21 окт 19, 15:38    [21999134]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Ролг Хупин,
ага
и PgAdmin4 есть - очень удобный...
Не вебом единым
21 окт 19, 15:40    [21999138]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
bubucha
Member

Откуда:
Сообщений: 5427
alexs75,

Экспорт данных в PDF - экспортируется вкладка "История", а не "Результат" ?
21 окт 19, 15:42    [21999140]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Сисдба Мастеркеевич
PARTIAL INDEX не умеет в скрипт извлекать

Добавил обработку.

bubucha
Экспорт данных в PDF - экспортируется вкладка "История", а не "Результат" ?

Исправил. Не тот грид выгружал.

Новая сборка
- Доработал поддержку частичных индексов для PostgreSQL
- Доработал автодополнение в SQL редакторе для CTE (common table expression) и запросов типа SELECT from (SELECT)
21 окт 19, 16:48    [21999223]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
bubucha
Member

Откуда:
Сообщений: 5427
alexs75
Исправил. Не тот грид выгружал.

text, varchar, character varying экспортируются как (MEMO)
ps win 10
22 окт 19, 10:52    [21999596]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
lr2
Member

Откуда:
Сообщений: 118
Интерфейс какой-то гееобразный.
Надо посвежее.
22 окт 19, 11:08    [21999616]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Новая сборка
- PG: Исправил создание новой таблицы (сломал после добавления поддержки партицированных таблиц)
- PG: Добавил в регистрационных данных информацию на PG12
- PG: Добавил поддержку покрывающих индексов
- Исправил экспорт в PDF из MEMO полей
22 окт 19, 14:11    [21999855]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3411
lr2
Интерфейс какой-то гееобразный.
Надо посвежее.


какое там посвежее, если паскаль лазарус
22 окт 19, 16:58    [22000102]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Ролг Хупин,

Конструктивная критика приветсвуется. А просто языком болтать... Не надо греть атмосферу - одной Гретты достаточно для мира.
23 окт 19, 08:11    [22000398]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
bubucha
Member

Откуда:
Сообщений: 5427
Фильтр в таблице - не заполняются выпадающие списки для строковых типов

К сообщению приложен файл. Размер - 6Kb
23 окт 19, 10:16    [22000521]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 46
А как это заставить работать?

Где это все недостающие библиотеки найти?

Может их много?

Спасибо.

К сообщению приложен файл. Размер - 7Kb
23 окт 19, 10:23    [22000534]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3411
alexs75
Ролг Хупин,

Конструктивная критика приветсвуется. А просто языком болтать... Не надо греть атмосферу - одной Гретты достаточно для мира.


окей, конструктивная критика: имя этой долбонутой девочки Грета - с одной "Тэ" пишется
23 окт 19, 11:14    [22000599]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
bubucha
Фильтр в таблице - не заполняются выпадающие списки для строковых типов

Спасибо. Поправлю.

GeniyZ
А как это заставить работать?
Где это все недостающие библиотеки найти?
Может их много?
Спасибо.

Можно узнать версию операционки? В винде, к сожалению, зоопарк с библиотеками.

[quot Ролг Хупин]
alexs75
Ролг Хупин,
окей, конструктивная критика: имя этой долбонутой девочки Грета - с одной "Тэ" пишется

Там скорее правильно будет ГреТТТа
23 окт 19, 11:26    [22000620]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
GeniyZ
Member

Откуда: Ростов-на-Дону
Сообщений: 46
alexs75,

у меня сейчас Win7, спасибо
23 окт 19, 14:56    [22000933]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
GeniyZ
alexs75,
у меня сейчас Win7, спасибо

Сейчас развернул в виртуалке Win7 x32 чистую. Установил - http://w7site.ru/fpc/fbm/FBM-setup.exe
Работает - к тестовой базе PG сервера подключаюсь.
Указанная библиотека ставится с сами FBM. Должна быть рядом с исполняемым файлом.
23 окт 19, 15:29    [22000983]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
bubucha
Фильтр в таблице - не заполняются выпадающие списки для строковых типов

Исправил.
Кстати, вид фильтра можно поменять в параметрах системы.
23 окт 19, 16:51    [22001087]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
alexs75,
Благородно! Поддерживаю!
У самого были такие мысли сделать аналог IBExpert под PostgreSQL
24 окт 19, 12:11    [22001539]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
DSKalugin
alexs75,
Благородно! Поддерживаю!
У самого были такие мысли сделать аналог IBExpert под PostgreSQL

Я рад, что мой труд пропал не даром.
Принимаю пожелания на фичи. По мере возможности буду реализовывать.
Ещё интересны ситуации с не стандартными типами данных.
24 окт 19, 16:09    [22001850]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Victor256
Member

Откуда:
Сообщений: 48
А эта штука вообще работает? Где мои базы? )

К сообщению приложен файл. Размер - 49Kb
25 окт 19, 13:22    [22002521]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Victor256
А эта штука вообще работает? Где мои базы? )

1. Регистрация только на одну базу. Т.е. тут идеология отличается от PgAdmin - там видны все базы данного сервера.
2. При регистрации надо правильно указать версию сервера. Ошибка уйдёт.
25 окт 19, 15:37    [22002752]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Victor256
Кстати - можно узнать сочетание, которое было указано? Т.е. какая реально версия сервера и какая была указана? Постараюсь обработать более корректно ситуацию.
25 окт 19, 15:41    [22002763]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Новая сборка
- Исправил ошибку при отображении информации о пользователе/группе если версия сервера >= 9.6, а в регистрационных данных указана < 9.6
+ При регистрации новой БД добавил контроль на заполненность наименования подключения (алиаса БД) - пустые значения запрещены.
25 окт 19, 16:44    [22002839]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Victor256
Member

Откуда:
Сообщений: 48
alexs75, указал 10, версия 10.7
ЗЫ. Но ведь есть SELECT version()
25 окт 19, 17:25    [22002908]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 974
Victor256
ЗЫ. Но ведь есть SELECT version()

да не надо пытаться парсить предназначенную для человека version()
Есть server_version_num и вообще PQserverVersion вызов libpq который берёт прилетающий во время коннекта server_version от базы.
25 окт 19, 17:41    [22002927]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Проблему я вроде решил. Для обновления данных теперь беру фактическую версию с сервера а не из данных регистрации.

Данные регистрации нужны для уточнения синтаксиса генерации скриптов на создание объектов БД.
У меня есть ситуации когда тестовая БД уже на более свежей версии, чем БД в продакшене.
Знаю, что это плохо - но это жизнь.
25 окт 19, 19:00    [22002976]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Новая сборка
- Исправил ошибку в автодополнении в редакторе SQL для UPDATE/DELETE запросов без CTE
+ Начал реализацию окна подсказки в редакторе SQL для параметров процедур/функций
28 окт 19, 16:24    [22004413]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
mozheyko_d
Member

Откуда: Мутноводск
Сообщений: 490
Не умеет соединяться с удаленным сервером через ssh-туннель с аутентификацией по ключу: вроде бы все поля заложены (хоть иногда со странными названиями), но не работает
30 окт 19, 10:07    [22005725]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
mozheyko_d,
По ssh ключу действительно ещё не доделал - нет личной заинтересованности. Надо будет доделать.
30 окт 19, 10:39    [22005760]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Victor256
Member

Откуда:
Сообщений: 48
alexs75, вопрос от человека, никогда не работавшего с IBExpert. В чем фишка/преимущество программы по сравнению с тем же DBeaver?
31 окт 19, 11:41    [22006952]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Victor256,
Как человек, никогда не работавший с DBeaver, скажу - не знаю. Не знаю предоставляемый функционал DBeaver.

По факту мой манагер - это мой рабочий инструмент для разработки моих систем. Создание было вызвано отсутствием привычного функционала после перехода с FB на PG - особенно для линукса.
Заодно с его помощью я сам просто изучаю Postgres (ну и прочие СУБД).

Из постоянно используемых плюшек для меня важно удобство написание тригеров/хранилок в БД - поэтому там я постоянно что либо добавляю.
Также мне удобно иметь лог на создание объектов в БД в качестве файлов на обновление версий БД. Компарерами лениво пользоваться.
Ну и, естественно, написание запросов - поэтому всякие автодополнения в редакторе SQL с хинтами и подсказками.

В будущем хочется полнофункциональный отладчик для хранилок и триггеров реализовать (опять идея из IBExpert-а).

PS
А ещё мне не нравится внешний вид и отзывчивость приложений, написанных на яве - но это уже холивар.
31 окт 19, 11:55    [22006979]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
alexs75
PS
А ещё мне не нравится внешний вид и отзывчивость приложений, написанных на яве - но это уже холивар.

Мне тоже! Кстати, DBeaver, действительно, можно считать лучшим кросплатформенным Freeware Java-инструментом. Сам его использую и на Win и на Linux.

Существуют классические оконные клоны IBExpert от фирмы EMS для всех популярных СУБД.
в частности для PostgreSQL - это EMS SQL Manager for PostgreSQL Freeware
P.S. Только не пробуйте 6-ю последнюю версию (дичь) Предыдущая 5-я Вам точно понравится! Есть переключение интерфейса MDI/SDI. Вполне можно запускать из под Wine

Сообщение было отредактировано: 31 окт 19, 12:25
31 окт 19, 12:19    [22007027]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
DSKalugin,
Вот с EMS вопрос большой - они умудрились испортить интерфейс IBExpert-а (если не ошибаюсь - это изначально был один продукт)
Я перед созданием FBM пытался EMS ипользовать. Но дикие лаги при отрисовке - всё впечатление было испорчено.
А сейчас по функционалу FBM в части PG как бы не лучше. SQLite - наверное тоже весь функционал охватил. MySQL и FireBird - в принципе работает. Но там я сильно не полирую.
31 окт 19, 13:05    [22007074]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
Ошибка парсера из-за символа "::"(два двоеточия) для приведения типа?
В DBEaver 6 отрабатывает успешно
SELECT * FROM zakupki_gov_ru.contr223_hdr_export_ud1054_nanolek
where publishdate = '2019-10-31'::DATE

SQL Error: ERROR:  syntax error at or near ":"
LINE 1: ..._export_ud1054_nanolek where publishdate = '2019-10-31':DATE
^
5 ноя 19, 13:13    [22009897]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
DSKalugin,
Есть такое. Двоеточия надо удваивать.
Тут ZEOS конфликтует с придумкой команды PG по кастованию типов.
А вообще кастовать можно по стандарту SQL - через CAST( xxx as yyy)
Через : в запрос передаются параметры - как и во всех приложениях Lazarus/Delphi.
Наверное сделаю настройку на работу в стиле PG.
5 ноя 19, 13:19    [22009901]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
DSKalugin,
В параметрах системы в разделе параметров PostgreSQL добавил флажок на выключение использования : как параметра запроса.
При выключенном флаге - можно кастовать типы в стиле PG, через ::
6 ноя 19, 16:30    [22010905]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
alexs75
DSKalugin,
Тут ZEOS конфликтует с придумкой команды PG по кастованию типов.
Через : в запрос передаются параметры - как и во всех приложениях Lazarus/Delphi.

Обновился из архива fbmanager-win32-2019-11-08--00-11-01.tar.bz2 и что-то не получается кастить ни с галкой "Use params char", ни без галки в настройках PostgreSQL/Параметры
Похоже, после первого Exception на этапе prepare запроса, дальнейший ход нарушается или "некорректный" запрос застряёт в кеше

такое в принципе возможно (с кастом и параметром в одном запросе)?
select func1(:paramName::numeric)
8 ноя 19, 19:03    [22012573]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
DSKalugin,
Там либо использовать : параметр как параметр либо использовать :: как каст
Одновременно - нельзя. (ZEOS так работает - его переписывать пока не хочется :-))
PS
Если есть идеи как это сделать - выслушаю.

Сообщение было отредактировано: 11 ноя 19, 08:48
11 ноя 19, 08:47    [22013233]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
Dmitri Krizhanovski
Member

Откуда:
Сообщений: 496
alexs75,

Посмотри ParamChar
11 ноя 19, 20:34    [22013940]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
alexs75
Member

Откуда:
Сообщений: 49
Dmitri Krizhanovski,
Проблема в том что символ параметра в lazarus/delphi и символ привидения типа в PG один и тот же - ":"
И в том и другом случае он имеет долгую традицию - и просто так отказаться от него не получается.
Для меня в приоритете : как параметр - поэтому и есть такое поведение. Для отключения этого поведения я и добавил настройку.

Сообщение было отредактировано: 12 ноя 19, 08:24
12 ноя 19, 08:23    [22014097]     Ответить | Цитировать Сообщить модератору
 Re: Инструмент для рабработки БД  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
при ежедневном использовании столкнулся вот ещё с чем:
  • когда смотришь структуру таблицы ("Поля": параметры полей в гриде) не хватает колонки "значение по умолчанию"
    processing_id int2 NOT NULL DEFAULT 0 
    

    это значение можно увидеть только в "DDL"
  • когда смотришь "Данные" в таблице, то для длинных строчных полей, например, Varchar(2048) ширина колонки может оказаться гораздно больше ширины самого грида. Приходится долго вручную сужать ширину таких полей чтобы увидеть все поля на одном экране. Вижу 2 решения: галка "AutoFitColWidths" (есть такое свойство в DBGridEh) на панеле инструментов или перед отображением сверять ширину полей с шириной грида и устанавливать ширину колонок не шире ширины грида.
  • Найдены черновики импорта данных :-) Реально полезная фича!
  • 13 ноя 19, 16:01    [22015563]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin
    при ежедневном использовании столкнулся вот ещё с чем:
  • когда смотришь структуру таблицы ("Поля": параметры полей в гриде) не хватает колонки "значение по умолчанию"
    processing_id int2 NOT NULL DEFAULT 0 
    

    это значение можно увидеть только в "DDL"

  • Добавил колонку
    DSKalugin
  • когда смотришь "Данные" в таблице, то для длинных строчных полей, например, Varchar(2048) ширина колонки может оказаться гораздно больше ширины самого грида. Приходится долго вручную сужать ширину таких полей чтобы увидеть все поля на одном экране. Вижу 2 решения: галка "AutoFitColWidths" (есть такое свойство в DBGridEh) на панеле инструментов или перед отображением сверять ширину полей с шириной грида и устанавливать ширину колонок не шире ширины грида.

  • Кнопку добавил
    А также там есть шорткат - ctrl+"серый плюс" - я через него пользуюсь. Также команда доступна из инструментального меню грида (верхний левый угол грида).

    А вообще проблема интересная - сейчас ширина колонки рассчитывается исходя из максимального размера данных. Хотя с большими колонками это действительно не удобно. Мысль бродит сделать какой нибудь хитрый расчёт ширины - но ещё не определился сам. Есть у кого какие идеи на этот счёт?


    Собрал новую версию
    Главное - работает с PG12
    Также мелкие косметические правки.
    13 ноя 19, 16:50    [22015603]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    Nebo
    Member

    Откуда:
    Сообщений: 2809
    alexs75,

    Выкладывайте в опен сорс. Если делаете для всех, то пусть все и подключаются к разработке.
    14 ноя 19, 00:46    [22015791]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    Nebo,

    Он так и есть. Исходники - https://github.com/lalexs75/FBManager
    14 ноя 19, 08:09    [22015831]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    ВМоисеев
    Member

    Откуда: Редкино
    Сообщений: 2086
    >alexs75, 9 окт 19, 09:14 [21990057]
    >...пишу для себя инструмент для проектирования БД
    <В случае PostgreSQL работающий инструмент нужен не только Вам. Мне бы он также не помешал. По мере сил готов участвовать в его тестировании, поскольку крайне утомлен pgAdmin. Пожалуйста, исправте эту ошибку.

    К сообщению приложен файл. Размер - 58Kb
    14 ноя 19, 14:19    [22016263]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    ВМоисеев,

    На картинке плохо видно - можно пример в виде SQL скрипта на создание объекта - в котором происходит ошибка?
    Или так - при нажати компиляции выдаётся окно компиляции с текстом SQL - его тоже пойдёт.
    Как я могу увидеть - там русские идентификаторы где-то есть? Уж очень картинка замытая.
    14 ноя 19, 14:25    [22016277]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    ВМоисеев
    Member

    Откуда: Редкино
    Сообщений: 2086
    >alexs75, сегодня, 14:25 [22016277]
    >...Как я могу увидеть - там русские идентификаторы где-то есть?
    <Постоянно применяю русские идентификаторы, как по смыслу, так и по написанию

    CREATE OR REPLACE FUNCTION public.au01_языки_sel( IN $pk_Entity uuid,
    IN $str_Язык varchar,
    IN $int_Limit integer)
    RETURNS refcursor
    AS
    $BODY$
    declare
    id0 uuid := '00000000-0000-0000-0000-000000000000';
    rfc refcursor;
    begin
    if "$pk_Entity" != id0 then
    open rfc for
    SELECT t.*
    FROM "tbl01_Языки" t
    WHERE t."pk_Entity" = "$pk_Entity"
    LIMIT(1);
    else
    open rfc for
    SELECT t.*
    FROM "tbl01_Языки" t
    WHERE (t."pk_Entity" <> id0) AND
    (("$str_Язык" IS NULL) OR (t."str_Язык" LIKE "$str_Язык"))
    ORDER BY t."str_Язык"
    LIMIT("$int_Limit");
    end if;
    return rfc;
    end;$BODY$
    LANGUAGE plpgsql
    COST 100
    VOLATILE;
    14 ноя 19, 15:36    [22016370]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    ВМоисеев,

    Спасибо. Действительно - проблема в не ASCII символах в идентификаторах. Поправлю.
    14 ноя 19, 15:38    [22016373]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    ВМоисеев,

    Собрал новую версию.
    Доработал поддержку национальных (русских) символов в наименованиях объектов. Должно заработать.
    Пока только для PG.
    Также добавил настройку на протоколирование исполнения SQL script-а.
    15 ноя 19, 15:13    [22017346]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    Сисдба Мастеркеевич
    Member

    Откуда:
    Сообщений: 394
    Было бы здорово в выгрузке метаданных:
    1. Спрашивать подтверждение перезаписи при сохранении файла скрипта.
    2. Запоминать предыдущую директорию в диалоговом окне для сохранения файла.
    3. Уметь выгружать отдельно констрейнты для таблиц.
    4. Уметь выгружать каждый объект в отдельный файл.
    5. Не добавлять группу по двойному щелчку, а только раскрывать ее (в окошке выбора объектов для извлечения).
    6. Непонятно, что делает кнопка Ok.
    19 ноя 19, 09:30    [22019332]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    Сисдба Мастеркеевич
    Было бы здорово в выгрузке метаданных:
    1. Спрашивать подтверждение перезаписи при сохранении файла скрипта.
    2. Запоминать предыдущую директорию в диалоговом окне для сохранения файла.
    3. Уметь выгружать отдельно констрейнты для таблиц.
    4. Уметь выгружать каждый объект в отдельный файл.
    5. Не добавлять группу по двойному щелчку, а только раскрывать ее (в окошке выбора объектов для извлечения).
    6. Непонятно, что делает кнопка Ok.


    Принял
    Постараюсь реализовать.
    19 ноя 19, 11:29    [22019442]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    Новая версия
    + Доделал поддержку национальных символов для SQLite и Firebird.
    Надеюсь - всё охватил.
    + Большие доработки выгрузки метаданных:
    1. Добавлены режимы выгрузки - в файл, в буфер обмена, в редактор скриптов, в раздельные файлы для каждого объекта выгрузки;
    2. Реализовал настройку на выгрузку всех объектов
    3. В форме выгрузки метаданных добавил навигацию по страницам.
    4. В форме выгрузки метаданных процесс выгрузки запускается по нажатию кнопки ОК. Кнопка доступна при активации последней вкладки.
    5. Дабл-клик по объекту выгрузки в дереве переносит его в дерево выгрузки. Развернуть ветку можно через символ + в дереве.
    + В редакторе SQL для команды "Сохранить как" добавлен контроль существования файла для перезаписи
    20 ноя 19, 15:29    [22020824]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    Только что поймал такой глюк: Есть функция с значениями параметров по умолчанию
    CREATE OR REPLACE FUNCTION zakupki_gov_ru.fbpy_export_contract44(d_from date, d_to date, delay_flag boolean DEFAULT true, not_processing_flag boolean DEFAULT true)
     RETURNS integer
     LANGUAGE plpython3u
     SECURITY DEFINER
    AS $function$
    

    FreeDataBaseManager от 20-11-2019 не может перекомпилировать(сохранить изменения) т.к. не видит DEFAULT true
    CREATE FUNCTION zakupki_gov_ru.fbpy_export_contract44( IN d_from date,
     IN d_to date,
     IN delay_flag boolean,
     IN not_processing_flag boolean)
    RETURNS integer
    AS
    $BODY$ 
    

    попытка заполнить их через форму интерфейса не помогает, значения TRUE не сохраняются
    Картинка с другого сайта.
    Картинка с другого сайта.
    22 ноя 19, 21:48    [22023310]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,
    Спасибо. Проверю.
    22 ноя 19, 21:54    [22023312]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    Siemargl
    Member

    Откуда: 010100
    Сообщений: 6330
    alexs75
    ...они умудрились испортить интерфейс IBExpert-а....
    Это невозможно.. =)

    А за стартап весьма поддерживаю - у ПГ недостаточно удобных админок АФАИК.
    22 ноя 19, 22:14    [22023320]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75
    DSKalugin,
    Спасибо. Проверю.

    Обновился до последней сегодняшней версии - тоже самое

    И пожелание: как в IBExpert-е хочется видеть количество измененных/вставленных/удаленных записей при update/insert/delete операциях
    Картинка с другого сайта.

    Спасибо!
    22 ноя 19, 22:18    [22023325]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,

    Ошибку с отображением параметров по умолчанию поправил. Должно работать. Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. Так что спасибо!
    В ночной сборке должны уже быть изменения.

    Насчёт кол-ва вставленных/изменённых записей - записал в список хотелок. По мере возможности - сделаю.
    22 ноя 19, 23:53    [22023368]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75
    DSKalugin,
    *** Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. ***

    Это не фича PG. Дефолтные значения параметров процедур есть и у Firebird и у T-SQL
    23 ноя 19, 14:28    [22023567]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin
    alexs75
    DSKalugin,
    *** Вопрос подтолкнул меня наконец таки разобраться с внутренним представлением параметров по молчанию в PG. ***

    Это не фича PG. Дефолтные значения параметров процедур есть и у Firebird и у T-SQL

    Я просто не разбирался раньше как они в системном каталоге хранятся. Сам я дефолтные параметры не люблю - и стараюсь не использовать. Просто это хороший путь к совершению глупых ошибок. Предпочитаю явно всегда требовать значения при вызове процедур/функций. Поэтому и не проработал тут этот вопрос.
    23 ноя 19, 15:53    [22023590]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin
    alexs75
    DSKalugin,
    Спасибо. Проверю.

    Обновился до последней сегодняшней версии - тоже самое

    И пожелание: как в IBExpert-е хочется видеть количество измененных/вставленных/удаленных записей при update/insert/delete операциях
    Картинка с другого сайта.

    Спасибо!

    В сборке за 24.12.2019 будет уже и отображение кол-ва изменёных записей.
    Параметры со значениями по умолчанию заработали?
    23 ноя 19, 22:52    [22023766]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75

    В сборке за 24.12.2019 будет уже и отображение кол-ва изменёных записей.

    Спасибо, Алексей! По предыдущему примеру вижу следующее:
    Update on timevalues  (cost=0.00..1.06 rows=4 width=16)
      ->  Seq Scan on timevalues  (cost=0.00..1.06 rows=4 width=16)
    
    [b]Изменено строк : 4[/b]
    File not open
    

    Но загадочный "File not open" остался. Интересно будет посмотреть на результат выполнения функции, где выполняются разные действия за один вызов или на "INSERT INTO FN() values() ON CONFLICT() DO update ***"
    alexs75

    Параметры со значениями по умолчанию заработали?

    Значения по умолчанию отображаются, перекомпиляция такой функции уже работает... но редактирование этих значений не работает. Окно для редактирования параметров открывется с пустым значением по умолчанию. Вписываю значение False, жму OK - ничего не меняется ни в интерфейсе ни в исходнике DDL
    Картинка с другого сайта.
    25 ноя 19, 12:22    [22024511]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    Хотел собрать из исходников, но слишком много сторонних пакетов нужно доустановить в Лазарус. Как-нибудь сделаю это.
    А пока, для распространения FreeDataBaseManager на системы Debian, Ubuntu, Mint и производные нашел простое решение - Convert RPM to DEB and DEB to RPM Package Using Alien
    25 ноя 19, 13:15    [22024569]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin

    Но загадочный "File not open" остался.

    А что указано в регистрационных параметрах БД? В частности - протоколирование редактора SQL?
    Вроде с файлами там только это может быть

    DSKalugin

    Интересно будет посмотреть на результат выполнения функции, где выполняются разные действия за один вызов или на "INSERT INTO FN() values() ON CONFLICT() DO update ***"

    Поведение абсолютно аналогично PgAdmin3 - только кол-во записей из запроса верхнего уровня - т.е. из запроса редактора.
    Если функция возвращает 1 строку (результат) - то будет 1.
    DSKalugin

    Значения по умолчанию отображаются, перекомпиляция такой функции уже работает... но редактирование этих значений не работает. Окно для редактирования параметров открывется с пустым значением по умолчанию. Вписываю значение False, жму OK - ничего не меняется ни в интерфейсе ни в исходнике DDL

    Посмотрим дельше.
    25 ноя 19, 13:17    [22024578]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75
    DSKalugin

    Но загадочный "File not open" остался.

    А что указано в регистрационных параметрах БД? В частности - протоколирование редактора SQL?

    Файл протокола SQL=C:\Program Files (x86)\FreeDataBaseManager\SQLhistory\work.log
    Но самого файла work.log там нет. Сделал пустой файл - не помогло. Или нет прав на эту системную папку или путь с пробелами.
    25 ноя 19, 15:31    [22024762]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    И еще заметил когда менял владельца таблицы, (подозреваю, что при любых изменениях DDL)
    ALTER TABLE ооо.ааа OWNER TO бэбэбэ;
    Кнопка "Обновить" в разделе DDL не обновляет исходник при изменениях в "Редактор SQL скриптов".
    Если закрыть окно структуры таблицы и "Обновить данные" в делеве объектов БД и повторно открыть структуру таблицы DDL тогда изменения видны
    25 ноя 19, 15:46    [22024786]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin

    Файл протокола SQL=C:\Program Files (x86)\FreeDataBaseManager\SQLhistory\work.log
    Но самого файла work.log там нет. Сделал пустой файл - не помогло. Или нет прав на эту системную папку или путь с пробелами.

    Вот оно
    Эта вкладка предназначена для ведения истории запросов, которые пользователь выполняет
    Тут надо естственно указывать папку, куда пользователь имеет права на запись.
    Либо вообще не включать.

    Для меня особенно важно протоколирование изменения метаданных - по факту я получаю при проектировании своей тестовой БД скрипт на изменение боевых экземпляров.

    DSKalugin
    И еще заметил когда менял владельца таблицы, (подозреваю, что при любых изменениях DDL)
    ALTER TABLE ооо.ааа OWNER TO бэбэбэ;
    Кнопка "Обновить" в разделе DDL не обновляет исходник при изменениях в "Редактор SQL скриптов".
    Если закрыть окно структуры таблицы и "Обновить данные" в делеве объектов БД и повторно открыть структуру таблицы DDL тогда изменения видны

    Есть такая буква. В планах стоит после выполнения DDL команды в SQL редакторе/SQLscript - обновления дерева объектов.
    Руки не доходят доделать.
    25 ноя 19, 16:21    [22024831]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    Загадочный Тип Money. Полдня дебажил, почему нули заходят в БД. Потом выполнил запрос в бобре (DBeaver) и увидел НЕнули , там , где FreeDataBaseManager показывает нули для типа Money.
    В DDL он не даже подсвечивается.
    CREATE TABLE test.demo_money_val(
      m_int4 int4,
      m_val Money
    );
    
    insert into test.demo_money_val(m_int4, m_val) values (1, 3456.36),(2, 2345.44),(3, 45.98);
    
    select * from test.demo_money_val; 
    

    Картинка с другого сайта.

    Сообщение было отредактировано: 27 ноя 19, 19:56
    27 ноя 19, 19:54    [22027005]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,
    Сразу видно то, чем сам не пользуюсь :-)
    Спасибо. Проверю.
    27 ноя 19, 19:59    [22027008]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    GeniyZ
    Member

    Откуда: Ростов-на-Дону
    Сообщений: 46
    DSKalugin,

    Немного не в тему вопрос, но очень уж интересно, в чём профит использования типа money?

    Мне уже несколько раз приходилось переписывать код с money на numeric(например 19,2).
    ИМХО, с числами работать проще, а в чём преимущество money - не осознаю.
    28 ноя 19, 12:46    [22027522]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    GeniyZ
    в чём профит использования типа money?
    Мне уже несколько раз приходилось переписывать код с money на numeric(например 19,2).
    ИМХО, с числами работать проще, а в чём преимущество money - не осознаю.

    Изначально интуитивно для денежных значений сделал тип полей money.
    С технической стороны - одни проблемы :-(( Самым сильным ударом было backup/restor в plain формате на сервер с другой локалью. (Выгружается как "12 254,45 Руб" с запятой и валютой как в конфиге прописано)
    Со стороны отображения в контролах плюс в сегментации разрядов и в наличии символа валюты и то, только той валюты, которая указана в конфиге сервера :-)))))))

    P.S. действительно лучше переделать на numeric при этом в C# это будет тип Decimal
    28 ноя 19, 15:02    [22027775]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin
    Загадочный Тип Money. Полдня дебажил, почему нули заходят в БД. Потом выполнил запрос в бобре (DBeaver) и увидел НЕнули , там , где FreeDataBaseManager показывает нули для типа Money.
    В DDL он не даже подсвечивается.

    Обновил у себя версию ZEOS до транковой.
    Вроде теперь стало работать правильно.
    Для тестирования пересобрал виндовый дистрибутив.
    28 ноя 19, 16:50    [22027965]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75,
    Архив без самой программы IBManager.exe, предыдущий архив - тоже
    fbmanager-win32-2019-11-29--00-11-01.tar.bz2 29-Nov-2019 01:28 319K
    fbmanager-win32-2019-11-28--00-11-02.tar.bz2 28-Nov-2019 01:28 10M
    Старые, наверное, можно уже зачистить для экономии места

    Сообщение было отредактировано: 29 ноя 19, 12:08
    29 ноя 19, 12:04    [22028634]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,
    Я пока наверное отключу ежедневные сборки - пока не мигрирую все свои проекты на новую версию ZEOS.
    29 ноя 19, 15:37    [22029004]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    http://w7site.ru/wp/?cat=33
    Небольшие советы по работе в FBM.
    30 ноя 19, 09:36    [22029367]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75,

    В дверь постучали представители конкурентов и предложили по-хорошему закрыть/продать/задушить проект?
    В свете импортозамещения этот инструмент можно будет хорошо монетизировать для госорганов т.к. он - единственный отечественный "швейцарский нож"...

    Сообщение было отредактировано: 3 дек 19, 12:18
    3 дек 19, 12:15    [22031103]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,
    Нет.
    Пошёл конфликт версий библиотек на сборщике проектов (ZEOS обновил). Остальные проекты подтяну - включу ночные сборки.
    FBM это мой проект для души. Можно сказать - исследовательский проект. Изучаю особенности разных RDBMS.
    3 дек 19, 13:14    [22031174]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    Вопрос к тем, кто пользуется pgAgent
    Кто либо развёртывал его в конфигурации, что бы его база была не в системной базе postgres?
    По умолчанию он именно так и ставится.
    18 дек 19, 16:15    [22043370]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    Запустил в редакторе SQL скриптов серию запросов типа
    vacuum table1;
    vacuum table2;
    ***
    vacuum table10;
    

    На время пока программа "заморозилась", я запустил второй екземляр FDM, который выдаёт такое ссобщение на любую активность
    Картинка с другого сайта.

    Другие утилиты по администрированию PostgreSQL подключаются и работают с БД без проблем.
    FDM не рассчитан на параллельную работу из нескольких экземпляров?
    10 фев 20, 16:11    [22076918]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,

    Такое поведение - это ошибка FBM. Надо разобраться.

    Это сообщение от SQLite (в нём я храню настройки). Сам недавно столкнулся с этим.
    Одновременная работа нескольких экземпляров - это норма.

    Ошибку надо поискать.
    10 фев 20, 16:15    [22076926]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75,
    Версия сегодняшняя fbmanager-win32-2020-02-10--00-02-02.tar.bz2 10-Feb-2020 01:33 5.5M
    Возможно, устанавливается монопольный режим подключения к SQLite?

     SHOW search_path;
    

    Этот запрос не выдает результат и в журнал истории пустышки пишет.
    10 фев 20, 16:40    [22076950]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,

    Ошибку с SHOW поправил (в парсере на команде не стоял признак возврата данных этой командой).
    Насчёт блокировок - добавил запись в лог последних SQL команд в случае возникновения ошибок в программе.
    Если не сложно - можно будет увидеть этот лог после возникновения ошибки?

    Режим работы с SQLite я явно не устанавливаю. Блокировка может быть только в случае длинной команды записи в базу SQLite.
    10 фев 20, 16:54    [22076968]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    DSKalugin
    Member

    Откуда: Мать городов русских
    Сообщений: 355
    alexs75

    Если не сложно - можно будет увидеть этот лог после возникновения ошибки?

    Запросто :-) Новая сборка будет ночью? Откуда брать логи?
    10 фев 20, 17:29    [22076994]     Ответить | Цитировать Сообщить модератору
     Re: Инструмент для рабработки БД  [new]
    alexs75
    Member

    Откуда:
    Сообщений: 49
    DSKalugin,

    $TEMP/IBManager.log
    или
    %TEMP%\IBManager.log
    11 фев 20, 08:13    [22077335]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: 1 2 3 4      [все]
    Все форумы / PostgreSQL Ответить