powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переход с Oracle на Postgress
65 сообщений из 65, показаны все 3 страниц
Переход с Oracle на Postgress
    #40112224
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Долго занимался только Oracle - бэкенд, формсы, репорты.
Вот сейчас возникает возможность перейти на проект, который мигрирует существующее приложение на Oracle в Postgres. Работа предполагается только с серверной частью, фронтендом заниматься не придется. Обязанности DBA тоже выполнять не требуется.
C оракловскими делами, SQL/PLSQL у меня никаких сложностей нету, знаю довольно хорошо.
Новую датабазу готов учить, ничего плохого про Postgres я не слышал.
Кто проходил через подобный процесс, что скажете, каким опытом поделитесь, на что обратить внимание, какие ожидать сложности?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112234
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23,

по этому вопросу много и-и.
если много серверных процедур - используйте ора2пг для упрощения конвертации кода.
сложность зависит от того сколько фич вы используете на оракле.
у меня основные вопросы были связаны с:
- автономные тр-ии
- джобы (шедулер)
- иерархические запросы
- очереди
- мат вьюхи с фастрефрешем

если проект использует оракл чисто как таблицехранилище, то проблем практически не будет.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112250
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще есть интересные "мелочи"
1. NULL и '' в ПГ не одно и тоже.
2. Очень надоедает необходимость четко указывать тип (и следить при сравнениях, да и просто при джойнах). само оно и пытаться не будет приравнять 1 к '1', например. в лучшем случае оно скажет об ошибке приведения, в худшем не будет, например, использовать индекс, там, где у ораклиста и вопросов не возникнет)

и таких мелочей там не мало.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112301
artel.dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного офтоп, переписывал ETL с R-project на PL/SQL.

Долго исправлял код, где используется тип Timestamp with time zone.

Оказалось, что если тестовый сервер в РФ, а прод в США - результаты сильно разные.

При сортировке значение NULL сортируется не так как в R-project: у кого-то оказывается в начале, а у кого-то в конце списка.

Пришлось принудительно проставлять NULLS FIRST или NULLS LAST.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112320
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У нас в проекте _слишком_ много pl/sql-кода (легаси почти с 2000 года).
Начитавшись о всяких подводных камнях решили не "переводить", а "выстроить" новый проект, и попутно избавиться от костылей и всякого.

По оракловым фичам:
- от автономных транзакций удалось отказаться без потерь (внушив себе, что автономки сами по себе - костыль.. хотя, конечно, с ними удобнее)
- временные таблицы в PG - их лучше не использовать, лучше создавать unlogged таблицы и эмулировать доступность данных в них по аналогии с временными в оракле
- вместо пакетов использовать схемы
- вместо глобальных переменных - таблицы и контекстные переменные
- джобы заменяются pgagent'ом
- utl_xx, dbms_xx - внешними сервисами
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112420
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я с ораклом привык к Toad, уютно как в лаптях. А какой тул используется в Postgres для работы?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112423
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23
я с ораклом привык к Toad, уютно как в лаптях. А какой тул используется в Postgres для работы?


А что такое работа? Если DBA - то только psql command line
если разработка то там много всего понаделали... одно кривее другого.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112424
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
выше по контексту вы могли бы понять, что речь идет о работе девелопера.
Вы, видимо, сами не девелопер и не в базах данных. Я полагал, что любой ораклист знает что такое Toad и как он незаменим в ежедневной рутине. Запросы, написание pl/sql кода, анализ схем, вообще все что пожет понадобиться разработчику, в одном пакете, удобно, быстро и надёжно. Хотя и дорого, у Toad цена лицензии существенная. Но я всегда считал если фирма не может обеспечить разработчикам каждому по копии Toad, то и нечего иметь дело с нищебродами.
Я совершенно уверен что существует "куча всего кривого", спасибо, капитан, поэтому я и задал простой (для тех кто в теме) вопрос - в postgres существует аналог Toad? Универсальный, общепринятый, мощный и удобный?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112428
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23,

похоже что нет. Я долго искал, много чего перепробовал, всё оно к разработке подходит с какого-то другого боку.

Тем не менее, я остановился на двух утилитах.
1. Это dbeaver, у него есть бесплатная редакция. Такой, вполне себе простенький тул, чем-то мне напомнил SQLTools для ораклы.

2. datagrip, там есть студенческие лицензии, либо для индивидуального девелопера не так уж и дорого, при этом у него куча настроек (вполне под себя можно настроить) и куча плюшек, типа прозрачной интеграции с GIT, интуитивное ведение проекта (когда проект - это каталог в файловой системе, и дальше все файлы и подкаталоги видны) и много всякого именно для разработки (закладки, избранное, TODO..).
В ПГ нет пакетов как в оракле, но можно функции объединять в схемы, и в этом случае все функции схемы я сохраняю в единый файл (а не каждую функцию в отдельный файл) - датагрип умеет в отдельной панели отображать структуру файла (с сортировкой по именам) для быстрой навигации.. вполне юзабельно.
Но надо быть готовым к тому, что придётся потратить время на настройку. По началу датагрип тормозной (постоянно парсит исходники, у него куча помощников надоедливых), он кэширует метаданные (что мешает при параллельной разработке и приходится этот кэш сбрасывать), автоматически сохраняет _все_ файлы не спрашивая...
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112431
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, ещё такие "беды" в ПГ есть (я относительно 12й версии ПГ пишу, с другими не работал).

1. ПГ не умеет строить зависимости по процедурам. Зависимости видны только по форейн-ключам таблиц, по вьюхам и триггерам.

2. Процедурный код при "компиляции" проверяется только на синтаксис. Т.е. оно даже не компилируется... хотя утверждать не буду, возможно какое-то дерево исполнения строится заранее (а может и на лету).
Ошибки (ну например банальная опечатка в коде) будут при исполнении, причём только если исполнение дошло до этой строки (ну if-then-else блоки).
Поэтому каждую функцию надо тестировать. Ну и датагрип тут помогает, он опечатки подсвечивает (да, рефакторинг в нём достаточно удобный).

3. Для вьюх зависимости ПГ строит, но они больше мешают, чем помогают. Например, если поверх таблицы есть вью, то изменить тип поля в столбце (или переименовать столбец, что нормально именно на стадии черновой разработки) уже становится проблемой - все зависимые представления надо будет удалять, а потом создавать заново. Поэтому надо сразу отделять таблицы от всего остального, а всё остальное хранить отдельно и в репозитории.

Вообще следуют сразу строго настрого запретить разработчикам менять код непосредственно в БД, т.е. мы делаем так:
- сначала создаётся файл (со вьюхой, или группой вьюх, или процедурами)
- файл накатывается на БД для разработки (я забил на общую БД, развернул у себя на локальном компе, это тупо быстрее), тестируется и т.п.
- файл комитится в GIT
- из GIT'а (пока ещё не сделали, но будет, что-то типа git-flow или пайплайны) оно автоматически накатывается на отдельный инстанс и там тестируется
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112436
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
delphinotes,
спасибо за толковый и дружелюбный ответ.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112448
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23
я с ораклом привык к Toad, уютно как в лаптях. А какой тул используется в Postgres для работы?

тоад божественен, это, кажется, единственная тулза из нормальных где хорошо сделаны параметры для запросов.
есть тоад для ПГ, но он откровенно убог.

последнее время datagrip используем, после рассмотрения 10ка альтернатив, даже купили лицензии.он прожорлив но в принципе норм.
и в нем нет пока дебага для ПГ. с этим вообще беда в ПГ.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112550
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфиль

и в нем нет пока дебага для ПГ. с этим вообще беда в ПГ.


Ну дык правильно. PL/pgSQL это по факту "левая приблуда" для PostgreSQL, наравне с каким-нибудь PL/PHP.
Родные ХП для PG это просто SQL-запросы с параметрами.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112710
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну что, подписал оффер.
Открыл Postgres Tutorial.
После четырёх месяцев еботни с дебильным Jdeveloper ADF, ощущение что пересел с кокпита Boing 777 на велосипед. Трёхколесный.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40112961
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EMS Manager меня всем устраивает.
И параметры для запросов с историей
и дебаггер
импорт - экспорт почти из всего и во всё
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40114266
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23,
Слово не прозвучало про pgadmin, не тоад конечно Но что-то в нем делать можно. Постепенно его развивают.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40115676
alex722
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23,

Ты это, тему не забрасывай, изучай, спрашивай, доки, тулзы и тд
В следующем году тоже с оракла начнём съезжать на постгри просто ;)
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40115702
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_avz
EMS Manager меня всем устраивает.
И параметры для запросов с историей
и дебаггер
импорт - экспорт почти из всего и во всё


он не бесплатный
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120121
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, а что насчет книг, порекомендуйте?
Я знаю что ничего подобного по качеству как книги Кайта или Фернстейна по PG не существует,
но все же тыщщи их, чтобы не копаться, поделитесь какие вам особенно понравились?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120155
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23
Долго занимался только Oracle - бэкенд, формсы, репорты.
Вот сейчас возникает возможность перейти на проект, который мигрирует существующее приложение на Oracle в Postgres. Работа предполагается только с серверной частью, фронтендом заниматься не придется. Обязанности DBA тоже выполнять не требуется.
C оракловскими делами, SQL/PLSQL у меня никаких сложностей нету, знаю довольно хорошо.
Новую датабазу готов учить, ничего плохого про Postgres я не слышал.
Кто проходил через подобный процесс, что скажете, каким опытом поделитесь, на что обратить внимание, какие ожидать сложности?


А почему оракал не продолжаете использовать?

Просто оставайтесь на нем, в чем проблема?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120156
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23,

начинал с "Салахалдин Джуба, Андрей Волков - Изучаем PostgreSQL".
потом дока.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120263
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23
Народ, а что насчет книг, порекомендуйте?
Я знаю что ничего подобного по качеству как книги Кайта или Фернстейна по PG не существует,
но все же тыщщи их, чтобы не копаться, поделитесь какие вам особенно понравились?


https://tapoueh.org/about/
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120278
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23
Народ, а что насчет книг, порекомендуйте?
Я знаю что ничего подобного по качеству как книги Кайта или Фернстейна по PG не существует,
но все же тыщщи их, чтобы не копаться, поделитесь какие вам особенно понравились?

Оптимизация запросов PostgreSQL, Домбровская Г., Новиков Б., Бейликова А.
Основы технологий баз данных, Новиков Б.
PostgreSQL изнутри, Рогов Е. (будет доступна где-то в течение месяца здесь )

Как читавший книги упомянутых оракловых авторов могу уверенно сказать, что вот эти постгресовые ни в чем не уступают. Разумеется imho.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120458
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм...а что нибудь переводное или на английском?
Я не знаю _ни одной_ толковой книги по программированию русскоязычных авторов
(ну, кроме Фигурнова:) (и Фараонова:)
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120532
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23
Хм...а что нибудь переводное или на английском?
Я не знаю _ни одной_ толковой книги по программированию русскоязычных авторов
(ну, кроме Фигурнова:) (и Фараонова:)

Прекрасная возможность познакомиться ))
Первая книга в оригинале на английском.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120540
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Лузанов

PostgreSQL изнутри, Рогов Е. (будет доступна где-то в течение месяца здесь )

Будет ли в бумаге?
Как бы подписаться, чтоб не пропустить?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120546
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курю родные мануалы.
копаю тему про создание функций, возвращающих refcursor.
полнейшая неразбериха, нигде внятно не объясняются все варианты.
Обнаружил что в нашем приложении вообще используется вариант, который нигде не описан, но он работает.
Это п-ц, товарищи!
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120729
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
Павел Лузанов

PostgreSQL изнутри, Рогов Е. (будет доступна где-то в течение месяца здесь )

Будет ли в бумаге?
Как бы подписаться, чтоб не пропустить?

В бумаге будет. За деньги. На сайте pdf - бесплатно.
Как подписаться не знаю. Но январь, максимум февраль. Так что ждать недолго.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120864
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23,

Всю ветку читать было лень, проходил это много раз.
NVL - переписать на Coalesce. Вернее, создать функцию. И вообще от сахарка избавиться в телах функций.
NVL - Не есть ANSI

Дата + 1 (Numeric) - посгря позволяет как С++ перегружать операторы.
основной синтаксис тот же.
Пэкэджи можно в схемы оформить, можно нет.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120865
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...Вот посгря при этом не компилируемая, как оракл.
И позднее связывание, как в M$$QL
Так что ошибку мы выловим на этапе исполнения.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120880
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мой первый ассайнмент на новой работе:
сравнить время выполнения хранимых процедур Oracle и PG.
Для большей точности одна и та же процедура вызывается по циклу 1000 раз.
Ну чо, сравним. Только собираюсь заменить запросы с параметрами у рефкурсорных функций на NDS.
чтобы, значить, заставить их репарсить при вызове по циклу.
Народ местный удивился - "а что, так можно было?"
Я также слегка обалдел удивился обнаружив в частной беседе что цель менеджера проекта (и моего начальника) отбиться от PG потому что он должен быть будет медленный.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40120882
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
most23
мой первый ассайнмент на новой работе:
сравнить время выполнения хранимых процедур Oracle и PG.
Для большей точности одна и та же процедура вызывается по циклу 1000 раз.
Ну чо, сравним. Только собираюсь заменить запросы с параметрами у рефкурсорных функций на NDS.
чтобы, значить, заставить их репарсить при вызове по циклу.
Народ местный удивился - "а что, так можно было?"
Я также слегка обалдел удивился обнаружив в частной беседе что цель менеджера проекта (и моего начальника) отбиться от PG потому что он должен быть будет медленный.

Фирма солидная, международная, большая, как раз на днях её съела купила еще более большая фирма из GB
Новые хозяева уже добавили всем 10 персональных больничных дней в год, но запретили ранее действующее разрешение переносить неиспользованый отпуск на 3 месяца в следующий год. У кучи народа расчитывающих на это отпуска погорели.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123703
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotes, Вы пишите:

> Ошибки (ну например банальная опечатка в коде) будут при исполнении,
> причём только если исполнение дошло до этой строки (ну if-then-else блоки).

То есть что, все хранимые нужно тестировать со всеми вариантами входных параметров, чтобы пробежалось по всем кусочкам кода?
Заглянуть в каждый иф, в каждый кейс...

Как Вы это делаете?
Это же всё страшно ненадежно!

Может быть есть методика, кроме "не нравится - не программируй"?
Я не ёрничаю. Я реально в ужасе от таких перспектив.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123723
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
muller,

Элементарно, Ватсон, деплоишь в продакшен и ждешь жалоб от юзеров.
Патанатом лучший диагност! Юзер лучший тестировщик!
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123728
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
muller,

Да, простой тест:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace function test.f1() returns boolean language plpgsql as $$
begin
  raise notice 'f1';
  return true;
end
$$;

create or replace function test.main(a_condition boolean) returns boolean language plpgsql as $$
begin
  if a_condition then
    return test.f1();
  else
    return test.f2();
  end if;
end
$$

select test.main(true);
select test.main(false);



функция test.f1() существует, поэтому вызов select test.main(true) отработает, второй функции нет - вызов select test.main(false) завершится ошибкой:
Код: sql
1.
SQL Error [42883]: ERROR: function test.f2() does not exist



С другой стороны, я вижу в этом возможность обхода отсутствия условной компиляции. В Oracle оно есть:
Код: sql
1.
$if _const_ $then f1; $else f2; $end


Используем для реализации, так сказать, client specific логики.

Ну а в целом, такие особенности вынуждают писать код более прямолинейным и чистым... и практика показывает, что это возможно, но требует бОльших усилий (особенно тяжело новичкам).

Насчёт тестирования - использую такой подход, при котором не создаётся больших (по кол-ву кода) процедур. Если процедура делает много чего, то каждый кусочек выделяется в отдельную процедуру, которая и тестируется. При написании кода с нуля, тут ничего такого нет, только рутина.
Ежели брать Oracle легаси (у нас до дури plsql-кода с использованием сомнительных практик)... я даже не знаю, отказался я от этой идеи.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123729
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати недавно наткнулся на такое (при работе со структурными типами). Вот так писать нельзя (PG 12):
Код: sql
1.
 l_record is not null


вместо этого надо:
Код: sql
1.
not l_record is null


Это работает как plpgsql, так и в sql.
см. здесь
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123732
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, и ещё одна особенность: null в уникальном индексе не работает. Т.е. если хоть одно из полей составного индекса из null, то уникальность не работает.
Варианты обхода:
а) использовать where
б) приводить к not null с помощью coalesce

Эта проблема уже несколько раз на этом форме поднималась, например вот:
Как создать уникальный составной индекс, который может содержать null значение
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123804
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
muller
delphinotes, Вы пишите:

> Ошибки (ну например банальная опечатка в коде) будут при исполнении,
> причём только если исполнение дошло до этой строки (ну if-then-else блоки).

То есть что, все хранимые нужно тестировать со всеми вариантами входных параметров, чтобы пробежалось по всем кусочкам кода?
Заглянуть в каждый иф, в каждый кейс...


https://github.com/okbob/plpgsql_check
вот эта штука сильно помогает найти грубые ошибки и опечатки, которые только в рантайм вылезут.
не логические, конечно, но, тем не менее,мне сильно помогло.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123824
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotes
Да, и ещё одна особенность: null в уникальном индексе не работает. Т.е. если хоть одно из полей составного индекса из null, то уникальность не работает.

По ясному требованию стандарта null не равен null, поэтому совершенно логично уникальный индекс следует этому правилу. А оракл пользуется другой альтернативной логикой. При том, напрямую не противоречащей sql spec.
Передаём привет sql spec, недостаточно явно описывающему многие нюансы.

delphinotes
Вот так писать нельзя (PG 12):

можно. Но документацию читать надо. Там описано, как считается is null над композитами.

По рантайм ошибкам - плюсую plpgsql_check. Весьма хороший штук.

muller
Может быть есть методика, кроме "не нравится - не программируй"?
Я не ёрничаю. Я реально в ужасе от таких перспектив.

Ну самые обычные впечатления, когда переходишь с компилируемого языка на интерпретируемый. С go на python, например, или подобное.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123844
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotes,
Душевно признателен за подробный ответ!

И вот у меня система на Оракле. Двухзвенка. Бизнес логика на сервере. То есть огромное количество хранимых в пакетах с процедурами, подпроцедурами, с бешенным количеством параметров, и эти параметры зачастую %rowtype а то и коллекции %rowtype.

Допустим, я получаю распоряжение:
Отказаться от Оракла. Переехать на Постгресс.
И, судя по Вашему ответу, хренушки у меня получиться эффективно сохранить архитектуру.
Проще фигню какую-то намутить, используя Постгресс только как хранилище.

Ну что ... новые вызовы.
Ещё раз спасибо!
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40123879
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
muller

И вот у меня система на Оракле. Двухзвенка. Бизнес логика на сервере. То есть огромное количество хранимых в пакетах с процедурами, подпроцедурами, с бешенным количеством параметров, и эти параметры зачастую %rowtype а то и коллекции %rowtype.

это, как показывает практика, так себе решение.
доходит иногда до смешного, поменял комментарий у поля и пару тысяч invalid объектов в базе. и тут начинается веселье)
правда в оракле есть шаред пул) по идее на ПГ должно быть все проще с изменениями в структуре таблиц)
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124027
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
muller,

Тоже имеем подобную архитектуру. При переходе частично код менялся регулярками, создавались функции заглушки от которых потом уже избавлялись (самое распространенная это строковая_переменная is null заменялась регуляркой на isNull(строковая_переменная) ult где дополнительно проверялась на пустую строку для сохранения логики Oracle).

%rowtype просто удалялись, коллекции сложных типов пришлось заменить на массивы (с изменением кода, частично регулярками), более сложные случаи заменили на работу с JSONB.

Так что даже если безнеслогика заложена в БД, то вполне возможно перенести на ПГ. Ну и потом расширение plpgsql_check просто обязано быть.


У ИК есть конвертер, который отрабатывает львиную часть изменений, можете попробовать связаться с ними.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124249
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111,
Благодарю за советы, если прижмут к реке, то буду использовать.
Но чето оптимизма поубавилось... воистину знания умножают скорбь.
Ну ... авось вывернусь, не впервОй.

ЗЫ.
И да, лучше всё станет инвалидным из-за мелочи где-нибудь на тестовом контуре, чем (обычно под новый, особливо високосный год такое бывает) система вывалится с неопознанным эксепшеном на проде.

Никому такого в Новом году!
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124254
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muller
Swa111,
Благодарю за советы, если прижмут к реке, то буду использовать.
Но чето оптимизма поубавилось... воистину знания умножают скорбь.
Ну ... авось вывернусь, не впервОй.

ЗЫ.
И да, лучше всё станет инвалидным из-за мелочи где-нибудь на тестовом контуре, чем (обычно под новый, особливо високосный год такое бывает ) система вывалится с неопознанным эксепшеном на проде.

Никому такого в Новом году!


а какой это у нас вдруг вискокосный год?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124287
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, у нас 2024 ближайший вроде как, а у Вас?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124393
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muller
... если прижмут к реке, то буду использовать.
Но чето оптимизма поубавилось... ...


Какие ужасы вы пишите. Аж кровь стынет.
Вот эти те, которые заставляют вас лоб морщить над такими вопросами, что они вообще себе, и о себе тоже, думают?
Где, интересно, они насмотрелись работы с биржей на Postgress.
И даже, если на самом деле где-то насмотрелись, понимают ли, что платить за такой Postgress все равно придется вполне полновесно.

Поверить не могу, что о такой безнадеге вас заставляют думать существующие клиенты.
А про будущих хорошо знать вот что: статистически они не всегда отчетливо и детально понимают, чего точно хотят.
Слишком много глубоких мыслей в их хотелках намазано.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124640
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby, когда я был маленький, то огорчался, что придется менять инструментарий с борландовского на оракловый ... теперь вот так ... жизнь - боль.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124646
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

freeware многие используют не потому что дешевле, а потому что появляется уверенность,
что заказанная разработка через 3 года не превратится в "тыкву"
из - за смены "Концепции" у продавца инструментария. Или из-за того что он банально разорится.

просто для сравнения какая может быть поддержка: поддержка PG
Чтобы получить такую у oracle нужно быть американской компанией из top10

Про политическую составляющую я даже не заикаюсь.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124709
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muller
... когда я был маленький, то огорчался...


Смена платформы всегда в той или иной степени болезненна.
Истории про "когда я был маленький" могут оправдываться тем, что при всяком былом переходе система в целом,
как бы ни был болезнен переход, всегда получала в техническом отношении такое новое качество, про которое можно было сказать
- вот ради этого стоило затевать всю эту затею.

Одно дело, когда речь идет о том, что нам надо обрабатывать больше данных за то же время.
Другое дело, когда кто-то думает, что клиенту система вот на такой-то платформе будет дешевле обходиться.

Ладно, прошу прощения за реплику.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124713
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,
среди наших клиентов есть минимум один, который не может купить себе свежий оракл, и минимум один не может официально докупить себе виндус -лицензий для рабочих станций, потому что оба-два под санкциями с разными предлогами.
Приходится задумываться.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124726
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
muller
... когда я был маленький, то огорчался...


Смена платформы всегда в той или иной степени болезненна.
Истории про "когда я был маленький" могут оправдываться тем, что при всяком былом переходе система в целом,
как бы ни был болезнен переход, всегда получала в техническом отношении такое новое качество, про которое можно было сказать
- вот ради этого стоило затевать всю эту затею.

Одно дело, когда речь идет о том, что нам надо обрабатывать больше данных за то же время.
Другое дело, когда кто-то думает, что клиенту система вот на такой-то платформе будет дешевле обходиться.

Ладно, прошу прощения за реплику.


Таки для многих проектов цена оракловой лицензии автоматически запретительная.
Да и крупному бизу тоже полезно расходы на лицензии считать (деньги не казённые таки).
А тут бесплатный Pg - вне конкуренции (особенно на средних-мелких проектах).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124728
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим, я вполне с уважением отношусь к Postgress.
Дело вовсе не в том - лучше Postgress, дороже ли Oracle или как лежали санкции..

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

Теоретическая польза от этого может быть.
Но с учетом того, что часть компетенций оказываются лишними, а другую необходимо компенсировать
- хлопать себя восторженно по ляжкам, с разбегу, причин не так уж и много.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40124731
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Максим, я вполне с уважением отношусь к Postgress.
Дело вовсе не в том - лучше Postgress, дороже ли Oracle или как лежали санкции..

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

Теоретическая польза от этого может быть.
Но с учетом того, что часть компетенций оказываются лишними, а другую необходимо компенсировать
- хлопать себя восторженно по ляжкам, с разбегу, причин не так уж и много.


Миграция старых СЛОЖНЫХ проектов с Oracle на Pg экономически действительно малооправдана (если политику убрать из уравнения).
А вот запуск новых сразу на Pg с нуля - вполне логичен (и как итог реальных спецов по Pg с рынка вымело, их вообще не так много было и есть на сейчас).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125020
muller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk, я например не могу убрать политику из уравнения, тк именно она требует от меня отказа от оракла.
В остальном всё всех устраивало, в том числе цена за лицензию.
Но вывод Ваш я считаю правильным.
Будем думать про новый проект. Нахрен миграцию.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125068
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть подозрение, что в большинстве проектов где переводят большое приложение на другую платформу, именно политика является определяющим фактором такого решения.
Я лично участвовал в 3х таких проектах (foxPro(!!!)=>oracle=>MySQL, Oracle Forms => Java/ADF, Oracle=>Postgres) и все три были мотивированы не объективной необходимостью, а "политикой" включая и политику 'job security', т.е. делать что-нибудь чтобы выглядеть занятыми и сохранять зарплаты и большой штат(чем больше размер IT группы, тем больше зарплата у менеджера)
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125092
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23
у меня есть подозрение, что в большинстве проектов где переводят большое приложение на другую платформу, именно политика является определяющим фактором такого решения.
Я лично участвовал в 3х таких проектах (foxPro(!!!)=>oracle=>MySQL, Oracle Forms => Java/ADF, Oracle=>Postgres) и все три были мотивированы не объективной необходимостью, а "политикой" включая и политику 'job security', т.е. делать что-нибудь чтобы выглядеть занятыми и сохранять зарплаты и большой штат(чем больше размер IT группы, тем больше зарплата у менеджера)


К сожалению, если остаться на старье, то всего через 15 лет не найдешь концов, управление проектом будет потеряно
Сам принимал участие в проектах миграции,когда разработчиков уже давно нет,
документация утрачена военно морским способом, даже дистрибутивов в доступе не наблюдается.
В частности, sql*forms 3.0 не смогли получтить даже от Oracle.
Дистрибутив hp-ux древней версии и формы нашлись в пыли в подвале. DAT ленты прочитать смогли только на старичке HP, который тоже пылился в подвале.
Из-за отсутствия исходников, нужно было точно выдержать исходную версию forms, но на эту версию требовался rowid патч, поэтому нужны были исходные дистрибутивы...
После плясок с бубнами, смогли поднять копию системы на Oracle 9i после миграции Oracle 7.3.4
Только после этого, смогли начать проект по миграции, последовательно перенося отдельные подсистемы на новые решения.
Система начала 90-х, мигрировалась в 2004 году


Другой пример, миграция postgres 9.3 + postgis2.1.1 - postgres11+postgis-2.5.1
всего-то 5 лет после пуска.
но там была astra с ограничениям ее дистрибутивов, пока нащупал путь, чтобы на наступить на баги, проклял все.

p.s. в unix конфе sql.ru сейчас страдает бедалага с SunFire490, у которого вылетел диск.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125197
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

вы для собственного удобства рассуждаете не о миграции как таковой, а об _upgrade_.
Для вас замечу, что нынешняя версия Oracle ERP 12c работает на Forms 10(на самом деле 9i) (выпущеных, напомню, 17(!!) лет назад.
И не жужжит, и будет их использовать еще лет 5-10.

Я не сомневаюсь что есть случаи апгрейда на новые версии чего угодно, и наверное встречаются случаи обоснованой миграции на другую платформу.

Это никак не влияет на мои наблюдения о ведущей роли принципа job security во многих коммерческих больших фирмах.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125262
Michael Isaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
most23,
Нынешняя версия Oracle eBS 12 работает как на Oracle Forms 10 через java-аплеты в интернет-браузерах, где такая поддержка сохранилась, либо через Java WebStart, так и на специфичном для OEBS но тоже устаревшем java-фреймворке OAF, генерирующие HTML-интерфейс, и с каждой новой минорной версией OEBS применение OAF расширяется, хотя OEBS 12 - это последняя версия, после которой ничего не будет. Также есть интеграция с современным Oracle Apex, генерируюшим Web-интерыейс. Но Forms и OAF - то всего лишь интерфейс просмотра и ввода данных, бизнес-логика и обработка транзакций написаны на PL/SQL, что более важно, и в некоторых модулях их можно использовать из других сред разработки, например, как выше упоминалось, APEX.
А вот для поддержки функционала OEBS на Forms хотя бы ещё на 5 лет, заказчикам придется сидеть на старых версиях Windows и Java (с поддержкой аплетов) либо требовать от Oracle полностью HTML- интерфейс, чего не будет конечно же, так как этот интерфейс у нового поколения облачной Oracle ERP, куда заманивают заказчиков, но не слишком успешно.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40125268
most23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, капитан.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40127485
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Лузанов
Guzya
пропущено...

Будет ли в бумаге?
Как бы подписаться, чтоб не пропустить?

В бумаге будет. За деньги. На сайте pdf - бесплатно.
Как подписаться не знаю. Но январь, максимум февраль. Так что ждать недолго.

Опубликовано:
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40127496
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Лузанов, спасибо!
Уже заказал.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40127653
Павел Лузанов,

спасибо.
судя по оглавлению, этот цикл статей выходил на хабре. сильно отличается?
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40127803
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РядомСтоял

судя по оглавлению, этот цикл статей выходил на хабре. сильно отличается?

Статьи с хабра взяты за основу. Тем не менее, работа над книгой заняла год.

Пользуясь случаем приглашаю на pgconf.ru (28.02-01.03). У Егора есть идея сделать доклад о процессе создания книги. Так что всё можно будет узнать у автора. Не получится поучаствовать - доклады обычно публикуются на сайте конференции для всех желающих, через какое-то время.
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40131328
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
booby
Максим, я вполне с уважением отношусь к Postgress.
Дело вовсе не в том - лучше Postgress, дороже ли Oracle или как лежали санкции..

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

Теоретическая польза от этого может быть.
Но с учетом того, что часть компетенций оказываются лишними, а другую необходимо компенсировать
- хлопать себя восторженно по ляжкам, с разбегу, причин не так уж и много.


Миграция старых СЛОЖНЫХ проектов с Oracle на Pg экономически действительно малооправдана (если политику убрать из уравнения).
А вот запуск новых сразу на Pg с нуля - вполне логичен (и как итог реальных спецов по Pg с рынка вымело, их вообще не так много было и есть на сейчас).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Oracle побыстрее PG будет... При наличии Сеньоров в программировании логики.
Но PG при этом "Бесплатный, модный, молодёжный", и импортозамещательный.
По производительности именно реляционок, я бы ему поставил третье место после Оракла, и M$$QL
...
Рейтинг: 0 / 0
Переход с Oracle на Postgress
    #40131393
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Makar4ik

Oracle побыстрее PG будет...
По производительности именно реляционок, я бы ему поставил третье место после Оракла, и M$$QL

с моей точки зрения, именно соображения про побыстрее вообще значения не имеют.

Третий к двум первым, по некоторым существенным основаниям может пристегиваться, но они не в самую первую очередь к "побыстрее" отношение имеют.
Среди версионников никто вменяемо и неоспоримо Oracle не обогнал толком до сих пор.

Так уже давно случилось , лет уже больше, чем двадцать пять как назад, то есть - в районе трех-четырех поколений смены архитектуры железа и представлений, как правильно писать ПО, что рассказывать об Oracle в стиле "побыстрее будет" среди версионников - это произносить скучные и не интересные банальности.

И до сих пор, среди классических версионников, ориентированных на OLTP с полной поддержкой ACID,
никто его толком не обогнал, не взирая ни на что, даже на образование, модные методы поддержки concurrency, и суперсовременные (спасибо бабушке Лисков за идеи) методы организации и поддержки коммита в распределенной системе.

От того, что оракл побыстрее, "ванильный" Postgress не становится менее интересным.
И, как оказывается в истории (Hekaton), у MS SQL Postgress тоже может найти, чему с пользой поучиться.

У Postgress весьма приличная как университетская (академическая), так и среди промышленных заинтерессантов поддержка.
В целом он более-менее уверенно сохраняет позиции на переднем крае исследований и пониманий того, кто такая СУБД вообще,
и с какой стороны ее есть.
В комбинации с его открытостью в части кода, это хорошая основа, при определенной склонности к неспешному обдумыванию наблюдённого,
как для самообразования в области субд-строительства, так и место, глядя в которое, при желании можно увидеть вполне пристойные реализации вполне пристойных идей.

Мне кажется главная его ценность именно в этом.

А уж кто там, зачем и почему собрался на него с Oracle мигрировать, ровно на столько же не имеет значения, насколько Oracle быстрее Postgress.
Имхо.
...
Рейтинг: 0 / 0
65 сообщений из 65, показаны все 3 страниц
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переход с Oracle на Postgress
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]