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

Откуда:
Сообщений: 15
Всем привет! Есть Oracle EE 11.2.0.3, опции label security, spatial and graph. В ближайшее время будет переход на 12.2. Бд в работе с начала 2000-х, соответственно объём наработок большой. Но сменилось руководство и возник вопрос почему Oracle? Почему не postgresql ибо поддержка Oracle обходится в десятки тыс долларов каждый год. Опыта в сопровождении postgresql нет. Стал изучать, сложилось такое впечатление что почти все что в oracle есть, реализовано и в postgresql и вроде даже автоматические средства миграции есть. Но доку читаю и все как-то не причесано что ли, все руками, автоматизации нет особо. Есть кто уже узучил такой вопрос? Поделитесь мудростью. Основные моменты по которым postgresql проигрывает? Безопасность? Оптимизатор? Архивирование и восстановление? Нашёл вот что пакетов в postgresql нет, а у нас в бд их туча. Статей много аля oracle VS postgresql но они все старые, годов 2015- 2017. Актуальных не нашёл, решил здесь попытать удачу.
18 сен 20, 17:50    [22200150]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Олег73
Опыта в сопровождении postgresql нет.

И вот это - вполне достаточный ответ на возникший вопрос.

Posted via ActualForum NNTP Server 1.5

18 сен 20, 18:24    [22200163]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Ваша темя не для этого форума. Она для соседнего форума "Сравнение СУБД". Статьи старые тоже полезно почитать, потому, что в хороших системах концепции не меняются от года к году, а поддерживаются, уточняются и совершенствуются. Поэтому то, чтобы ло актуально для Oracle7 скорее всего актуально и для Oracle 19c. Так что начните с имеющихся сравнений, а потом будете утоянять неясное. Иначе получается так: я что-то читал, но ничего не понял, а вникать лениво. Поэтому разжуйте мне до слюней и положите до желудка. А выбор начните с допроса вашего сменившегося руководства, что именно они хотят от системы баз данных. И посчитайте вместе с ними сколько будет стоить переход на другую СУБД. Скорее всего этот расчет отрезвит и заставит отодвинуть в дальний угол модные шапкозакидательские настроения импортозамещения. А может быть и наоборот. Читайте. Думайте. Действуйте.

Модератор: Тема перенесена из форума "Oracle".


Сообщение было отредактировано: 18 сен 20, 18:26
18 сен 20, 18:27    [22200167]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Олег73
Но сменилось руководство и возник вопрос почему Oracle? Почему не postgresql ибо поддержка Oracle обходится в десятки тыс долларов каждый год.
Оффтоп.

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

Там они тоже задают, навязывают, разрушают и уходят. :-(

Временщики.
Они были во все времена и, к сожалению, будут.
18 сен 20, 18:54    [22200179]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Олег73
Опыта в сопровождении postgresql нет.

Не волнуйтесь.
Наймут тех, кто подешевле и с опытом..
18 сен 20, 19:08    [22200182]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
Валерий Юринский
Олег73
Опыта в сопровождении postgresql нет.

Не волнуйтесь.
Наймут тех, кто подешевле и с опытом..

Наймут тех, кто подороже, чтобы провести миграцию и тьюнинг до приемлимого уровня производительности.
А также обучение сотрудников.
18 сен 20, 19:26    [22200191]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
Олег73
Что есть в oracle и нет в postgresql?

ничего, чтобы стоило десятки тысяч долларов

вон даже дядя продавец оракл не знает, что там есть

раньше Рындин как-то с аргументами сопротивлялся, да и тот пропал
не продается оракл видать
19 сен 20, 15:56    [22200468]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Олег73
Member

Откуда:
Сообщений: 15
Бумбараш,
Под новый проект или если бы стоял первоначальный выбор СУБД я бы скорее всего с вами согласился. Но у нас oracle уже давно закуплен и работает, пару лет назад ещё процессорных лицензий докупали.
19 сен 20, 17:00    [22200494]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
Олег73,

если есть возможность частично что-то перевести на Postgres, то попробуйте в качестве эксперимента
получите и опыт, и для руководства аргументы за и против появятся

разом всё переводить выйдет долго, дорого и не факт, что это будет успешно :)
19 сен 20, 17:04    [22200496]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Никанор Кузьмич
Member

Откуда: Москва
Сообщений: 506
Олег73
Но сменилось руководство и возник вопрос почему Oracle? Почему не postgresql ибо поддержка Oracle обходится в десятки тыс долларов каждый год. Опыта в сопровождении postgresql нет. Стал изучать, сложилось такое впечатление что почти все что в oracle есть, реализовано и в postgresql и вроде даже автоматические средства миграции есть. Но доку читаю и все как-то не причесано что ли, все руками, автоматизации нет особо. Есть кто уже узучил такой вопрос? Поделитесь мудростью.
Я имею честь работать в крупной международной компании с похожей проблемой. Года за два до моего прихода компания влетела на большие бабки за поддержку (от разных очевидцев я слышал разные версии - то ли по вине Оракла, поднявшего цены, то ли в компании пытались "оптимизировать" выплаты, а потом в оракле пронюхали, что компания не доплачивает, и выкатили иск). Итогом стало резкое неприятие оракловых продуктов, и чем выше по иерархии - тем резче неприятие.
"Моему" проекту (на котором я работаю) 11 лет. Первые 8 лет это была двухзвенка оракл + десктопное приложение (джава, хибернейт, и, кажется, swing). Потом джавщики все куда-то делись, а начальство решило перейти на веб. Старое приложение осталось работоспособно, но не обновлялось. Бизнес-логика вся была в БД. Начали разрабатывать новый веб-интерфейс, в котором реализовывали существующие фичи из старого приложения, плюс добавляли новые. Когда перенести все фичи из старого, старое убили (не поверите, но это случилось на прошлой неделе). В итоге, получившаяся миграция "с оракла на оракл" заняла 3 года. Расходная часть проекта - 1 лям зелени в год. Вы хотите переехать с оракла на постгрес? Ваше приложение вдвое старше нашего, вы там небось вдвое больше фич наколбасили за это время. Ну вот берите и считайте стоимость переезда. Фактически, вам придется пересоздать ваше приложение с нуля. Вам нужно будет переписывать старое, параллельно писать новое, плюс система должна все это время работать, а значит, все новые фичи вам придется добавлять и в старую систему тоже. Или оставить ее в режиме "без новых фич". Как закончите, обязательно расскажите здесь, сколько сэкономили. Посмеемся вместе

Олег73
Основные моменты по которым postgresql проигрывает?
Неправильная постановка вопроса. У оракла реально дофига всего есть. Выпишите список фич оракла, которыми вы реально пользуетесь и пляшите от него. А то может окажется, что вы все это время платили зря и ничего не потеряете от переезда.

Бумбараш
вон даже дядя продавец оракл не знает, что там есть
Для продавца это нормально, кстати. Я встречал и разработчиков с 10+ лет стажа, которые осилили только несколько самых простеньких фич и все на них лепили.

Олег73
В ближайшее время будет переход на 12.2.
Одна из фич, которая мне больше всего понравилась в 12 версии, это возможность определения code coverage (расчет процента покрытия и вывод информации о том, какие ветки кода выполнились, а какие - нет). Но дайте угадаю, вы же не пишете тесты, да?

Валерий Юринский
Так что начните с имеющихся сравнений
Бесполезная трата времени, имхо. Я вбил в гугл "oracle vs postgresql" и среди первых 10 ссылок не нашел ничего, достойного внимания. Кажется, если просто начать читать доку по ораклу и по постгресу, и то пользы будет больше.

Мое личное мнение заключается в том, что одна из главных недооцененных фич оракла - это "стандартная" библиотека, состоящая из кучи пакетов с префиксами dbms_*, utl_* и других, и куча средств диагностики (всякие системные вью, начиная с v$session и далее везде). Почему-то про них почти никто никогда не вспоминает в подобных дискуссиях.
20 сен 20, 02:04    [22200616]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Олег73,

на сколько большая нагрузка и большой проект ? у postgres нет кластера и он откровенно дохнет под серьезной нагрузкой из-за отсутствия полноценного undo лога. он пихает старые версии строк не в undo, а прямо в датафайлы. соответственно конкурирующие транзакции вынуждены читать и отфильтровывать мусор, обновлении строк дает новый адрес строки, что задевает индексы, а сервер еще и вынужден вычищать не нужные версии из датафайлов (vacum). uber из-за этого пришлось уйти с postgres.
переносить pl/sql на pg/sql, где нет ни пакетов ни ref_cursors, отслеживании зависимостей, матвью и много другого нет особо смысла. это полный редизайн, автоматика ничего не сделает. если уж тратить серьезные ресурсы и переписывать логику - то на java. брать что-то новомодное, подо что через 10-20 лет будут живые разработчики. лет через 5-10 совсем не факт что на рынке кто-то с pg/sql еще будет.
чего нет в postgres наверно можно посмотреть у enterprisedb https://www.enterprisedb.com/
они делают платный вариант postgres с фичами оракла, там и пакеты и ref_cusrsor и т.е. может проще на него переезжать, там вероятно сильно дешевле лицензия
20 сен 20, 11:13    [22200652]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Олег73
Всем привет! Есть Oracle EE 11.2.0.3, опции label security, spatial and graph. В ближайшее время будет переход на 12.2. Бд в работе с начала 2000-х, соответственно объём наработок большой. Но сменилось руководство и возник вопрос почему Oracle? Почему не postgresql ибо поддержка Oracle обходится в десятки тыс долларов каждый год. Опыта в сопровождении postgresql нет. Стал изучать, сложилось такое впечатление что почти все что в oracle есть, реализовано и в postgresql и вроде даже автоматические средства миграции есть. Но доку читаю и все как-то не причесано что ли, все руками, автоматизации нет особо. Есть кто уже узучил такой вопрос? Поделитесь мудростью. Основные моменты по которым postgresql проигрывает? Безопасность? Оптимизатор? Архивирование и восстановление? Нашёл вот что пакетов в postgresql нет, а у нас в бд их туча. Статей много аля oracle VS postgresql но они все старые, годов 2015- 2017. Актуальных не нашёл, решил здесь попытать удачу.


PostgreSQL это не Oracle от слова совсем.

PostgreSQL это хорошая СУРБД.
Oracle это «Чу́дище о́бло, озо́рно, огро́мно, стозе́вно и ла́яй».
Т.е. если у вас Oracle, то вы с него никуда не уйдете, ну или это будет очень дорого.
Вендорлок однако.
20 сен 20, 11:59    [22200668]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Никанор Кузьмич
Member

Откуда: Москва
Сообщений: 506
mad_nazgul
PostgreSQL это не Oracle от слова совсем.
Это можно сказать про любые две альтернативные системы. Тем не менее, постгрес активно (и, видимо, сознательно и планормерно) косплеит оракл, так что если вопрос стоит как "срочно бежать с оракла хоть к черту лысому", то постгрес будет стоять в списке "куда можно убежать" под первым номером с большим отрывом.
20 сен 20, 12:25    [22200672]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Кстати о косплее и системной библиотеке пакетов: Оракул уже почти десять лет судится с
Гуглем за то, что они в Явовской библиотеке использовали те же имена
классов и методов, что и Оракул. Если выиграет - ПГ будет следующим на очереди?

Posted via ActualForum NNTP Server 1.5

20 сен 20, 12:57    [22200679]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
Зря тему перенесли в сравнение СУБД...

Где-то года 4 назад оракл публиковал статью преимуществах над PostgreSQL, там, насколько я помню, основной упор делался на диагностику и мероприятия по доступности/отказоустойчивости, вроде в PostgreSQL с тех пор ничего не изменилось, например инкрементального бэкапа как не было так и нет.
Ну и по ощущениям комьюнити PostgreSQL какое-то отбитое на голову, например местный форум по PostgreSQL примерно следующего мнения по определенным вопросам:
- используешь PostgreSQL в докере - ты лох
- используешь PostgreSQL на MS Windows - ты лох
- используешь PostgreSQL для 1С - ты лох
- используешь Postgres PRO, EnterpriseDB, что-либо еще - ты лох
- используешь старую версию PostgreSQL - ты лох
20 сен 20, 16:35    [22200725]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Андрей Панфилов
- используешь PostgreSQL на MS Windows - ты лох

Забавно, что именно это Вы упомянули. Оракул уже перестал ставиться исключительно в корень
диска С и напрочь отказываться работать если установлен в путь с пробелами?

Posted via ActualForum NNTP Server 1.5

20 сен 20, 18:21    [22200758]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Андрей Панфилов
Зря тему перенесли в сравнение СУБД...
Почему?
Для неё тут самое подходящее место.
20 сен 20, 20:47    [22200795]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Никанор Кузьмич
mad_nazgul
PostgreSQL это не Oracle от слова совсем.
Это можно сказать про любые две альтернативные системы. Тем не менее, постгрес активно (и, видимо, сознательно и планормерно) косплеит оракл, так что если вопрос стоит как "срочно бежать с оракла хоть к черту лысому", то постгрес будет стоять в списке "куда можно убежать" под первым номером с большим отрывом.


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

В PostgreSQL в лучшем случае "все удобства во дворе", обычно их просто нет.
Ядро PostgreSQL пишут больше "аналитики-академики", чем "практики".
Поэтому как СУРБД - норм.
Но вот всё остальное - печально.
pl/pgsql - это нашлёпка сбоку для PostgreSQL. Которая имеет такие же права, как, например PL/Python и прочие.

В то же время PL/SQL в Oracle спокойно участвует в плане запроса и может быть оптимизировано ядром БД.

Так что сравнивать PostgreSQL и Oracle очень трудно, т.к. Oracle это не только СУРБД, но ещё ЯП PL/SQL + куча различным расширения и библиотек + куча инструментов от разработки до администрирования.
Которые решают все или почти все задачи.
21 сен 20, 11:52    [22201078]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Андрей Панфилов

- используешь PostgreSQL в докере - ты лох


Ну как бы докер не предназначен для хранения состояние.
А запихнуть PostgreSQL в докер можно, но толку нету от слова совсем.

Андрей Панфилов

- используешь PostgreSQL на MS Windows - ты лох


Ну у меня PostgreSQL под Windows работает.
"Но есть нюансы" и "Не всё так однозначно".
В общем в продкшене лучше не использовать.

Андрей Панфилов

- используешь PostgreSQL для 1С - ты лох


Вот тут соглашусь, лучше использовать MS SQL :-)
Т.к. нужно использовать PostgreSQL и патчами от 1C.
Как минимум так было раньше. Сейчас не знаю, может быть и подойдет стандартный PostgreSQL.


Андрей Панфилов

- используешь Postgres PRO, EnterpriseDB, что-либо еще - ты лох


Типа, зачем платить?! :-)

Андрей Панфилов

- используешь старую версию PostgreSQL - ты лох


Ну. Помню было весело, когда переходили с 7 версии на 8 (вроде как)
В 7 версии еще можно было использовать не типизированные кортежи, а в 8 уже нет.
Много хранимок посыпалось. :-)
21 сен 20, 12:02    [22201090]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

mad_nazgul
В то же время PL/SQL в Oracle спокойно участвует в плане запроса и может быть
оптимизировано ядром БД.

Что, его уже загнали в ядро? Больше можно не размахивать жупелом "не смешивайте SQL и
PL/SQL - производительность упадёт под плинтус из-за переключения контекстов в результате
выполнения PL/SQL внешним процессом"?

Posted via ActualForum NNTP Server 1.5

21 сен 20, 12:34    [22201115]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
Dimitry Sibiryakov
Оракул уже перестал ставиться исключительно в корень
диска С и напрочь отказываться работать если установлен в путь с пробелами?
Вы действительно думаете, что кому-то это может быть интересно, кроме отбитых на голову фанатиков?
21 сен 20, 15:18    [22201326]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
mad_nazgul
Андрей Панфилов

- используешь Postgres PRO, EnterpriseDB, что-либо еще - ты лох


Типа, зачем платить?! :-)
Надеюсь вы в курсе почему вы до сих пор не CIO/CTO
21 сен 20, 15:29    [22201342]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
Андрей Панфилов
Dimitry Sibiryakov
Оракул уже перестал ставиться исключительно в корень
диска С и напрочь отказываться работать если установлен в путь с пробелами?
Вы действительно думаете, что кому-то это может быть интересно, кроме отбитых на голову фанатиков?

ответ в стиле отбитого на голову коммьюнити
21 сен 20, 15:31    [22201344]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
Бумбараш
ответ в стиле отбитого на голову коммьюнити
Вам видосик чтоли записать, как создать каталог в корне диска C:\ и чтобы при этом ничего не загорелось?
21 сен 20, 15:36    [22201348]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

То есть кривой PG for Windows это "фу, отстой для лохов", а точно такой же Оракул -
"смотрите видосики как делать правильно". Оке...

Posted via ActualForum NNTP Server 1.5

21 сен 20, 15:41    [22201354]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
Dimitry Sibiryakov

То есть кривой PG for Windows это "фу, отстой для лохов", а точно такой же Оракул -
"смотрите видосики как делать правильно". Оке...
К сожалению, мне довольно затруднительно связать наличие каких-то проблем в ПО из-за пробелов в путях, с существованием отбитого на голову комьюнити PostgreSQL, вы не могли бы чуть более подробнее раскрыть свою мысль?
21 сен 20, 16:12    [22201394]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov
Оракул уже перестал ставиться исключительно в корень
диска С и напрочь отказываться работать если установлен в путь с пробелами?


Дмитрий, вот даже интересно, какую последнюю версию оракла вы устанавливали под windows. Указать любой другой путь для %oracle_base% можно уже давно.

Пути с пробелами, возможно, выстреливают, но у оракла довольно давно для каждой поддерживаемой ОС есть рекомендуемый стандарт расположения и именования файлов и каталогов (OFA), который применяют большинство DBA, работающих с этой СУБД. Так что эта проблема скорее надуманная и возникнет только у админов, не читающих документацию перед установкой.

Встречный вопрос, а для чего ставить файлы СУБД в каталог с пробелами в названии? Как и когда это может пригодиться?
21 сен 20, 16:51    [22201438]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

env
Встречный вопрос, а для чего ставить файлы СУБД в каталог с пробелами в названии? Как и
когда это может пригодиться?

Ну, например, следовать рекомендациям MS и ставить софт в Program Files, поскольку из
любого другого места наглый System Restore может его внезапно удалить.

Posted via ActualForum NNTP Server 1.5

21 сен 20, 18:25    [22201488]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
А собственно сама база это софт или не софт?
Нафига нужен софт Oracle, если хитрый System Restore базу на терабайт удалит?

p.s. вопросы риторические
21 сен 20, 18:31    [22201493]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Leonid Kudryavtsev
Нафига нужен софт Oracle, если хитрый System Restore базу на терабайт удалит?

Не удалит если она будет лежать там, где предусмотрел автор System Restore? вместо того,
что взбрело в голову автору софта Oracle. Но следовать чужим правилам это же не для
крупных корпораций...

Posted via ActualForum NNTP Server 1.5

21 сен 20, 18:54    [22201511]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
Dimitry Sibiryakov
хитрый System Restore
У вас там видимо какая-то своя атмосфера... ни разу не видел чтобы СУБД восстанавливали через System Restore
21 сен 20, 19:16    [22201521]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Андрей Панфилов
ни разу не видел чтобы СУБД восстанавливали через System Restore

И ни разу не видел как он запускается совершенно самостоятельно после внезапного
отключения электричества? Ну да, кто ж ставит Оракула на сервер без бесперебойника...

Posted via ActualForum NNTP Server 1.5

21 сен 20, 22:08    [22201598]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Андрей Панфилов
mad_nazgul
пропущено...


Типа, зачем платить?! :-)
Надеюсь вы в курсе почему вы до сих пор не CIO/CTO


Так мне оно и не надо?! :-)

А так да. Помниться в банке "завернули" проект на PostgreSQL, т.к. предложении не указали, кто будет осуществлять техническую поддержку БД.
22 сен 20, 08:58    [22201681]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Elic
Member

Откуда:
Сообщений: 30178
H5N1
чего нет в postgres наверно можно посмотреть у enterprisedb https://www.enterprisedb.com/
они делают платный вариант postgres с фичами оракла, там и пакеты и ref_cusrsor
Среди маркетингового балшита я не увидел ничего про хоть какие-то аналоги пакетов. Нельзя ли чуть более конкретную ссылочку на эту "фичу"?
22 сен 20, 09:34    [22201700]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

За всё время работы видел Oracle под Windows разве что в 2000-х годах, на windows NT/2002 Server. Ни разу не видел на сервере десктопного класса (только стойки либо в ДЦ либо локальные, обязательно с бесперебойниками). И уж совсем ни разу не видел, как внезапно срабатывает System Restore на ОС серверного уровня.

Возможно, если ставить СУБД на домашнюю машину для учебных целей, такая ситуация может иметь место. Ну а если у Вас сервера уровня домашних машин, то скорее всего честно купленная и лицензированная промышленная СУБД типа Oracle Вам и не требуется. Не тот масштаб.

Сообщение было отредактировано: 22 сен 20, 09:47
22 сен 20, 09:49    [22201705]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Elic
H5N1
чего нет в postgres наверно можно посмотреть у enterprisedb https://www.enterprisedb.com/
они делают платный вариант postgres с фичами оракла, там и пакеты и ref_cusrsor
Среди маркетингового балшита я не увидел ничего про хоть какие-то аналоги пакетов. Нельзя ли чуть более конкретную ссылочку на эту "фичу"?

https://www.enterprisedb.com/edb-docs/d/edb-postgres-advanced-server/user-guides/database-compatibility-for-oracle-developers-guide/12/toc.html

конкретно по пакетам тут
https://www.enterprisedb.com/edb-docs/d/edb-postgres-advanced-server/user-guides/database-compatibility-for-oracle-developers-guide/9.5/Database_Compatibility_for_Oracle_Developers_Guide.1.071.html#pID0E02SU0HA

Сообщение было отредактировано: 22 сен 20, 10:33
22 сен 20, 10:29    [22201735]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10945
Бумбараш,

пока не попробовал не поймёшь. Что удобней ориентироваться среди 100500 процедур/функций в плоском списке или сгруппированным по пространству имён?
22 сен 20, 14:14    [22201905]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Бумбараш
Elic
Среди маркетингового балшита я не увидел ничего про хоть какие-то аналоги пакетов. Нельзя ли чуть более конкретную ссылочку на эту "фичу"?

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

В Ада они называются "модулями".

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

Язык Ада был разработан по заказу Министерства обороны США.
Надежность для военных программ очень важна.
22 сен 20, 14:38    [22201927]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Валерий Юринский
Язык Ада был разработан по заказу Министерства обороны США


Вне контекста смотрится ещё лучше
22 сен 20, 14:42    [22201934]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
env
Валерий Юринский
Язык Ада был разработан по заказу Министерства обороны США


Вне контекста смотрится ещё лучше


Старый анекдот:
Бабушка вошла в вагон метро и встала рядом с юношей, надеясь, что он ей место уступит.
А юноша увлеченно читает какую-то книгу и бабушку совсем не замечает.
Тогда бабушка наклонилась и посмотрела, что за книгу читает юноша...
Прочитала название, изменилась в лице, три каза перекрестилась и быстро вышла на следующей станции.

А юноша читал книгу по программированию, называвшуюся "Язык Ада"
:-)

Вот такую:

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

Я её тоже когда-то читал.
22 сен 20, 14:55    [22201942]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
Что удобней ориентироваться среди 100500 процедур/функций в плоском списке или
сгруппированным по пространству имён?

Для этого не нужны пакеты, достаточно схем. Вторые более удобны ещё и тем, что могут (при
желании) содержать не только процедуры и фунукции, но и другие объекты, такие как таблицы
и последовательности.

Posted via ActualForum NNTP Server 1.5

22 сен 20, 15:01    [22201948]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1166
Валерий Юринский
Пакеты пришли из языка программирования Ада.
...
Язык Ада был разработан по заказу Министерства обороны США.
Надежность для военных программ очень важна.


Складывается впечатление, что благодаря пакетам, оракловый PL/SQL надежен так же как софт для военных.

Помнится, адепты Interbase любили упомянуть, что Interbase используется в танках Абрамс и где-то у Боинга.
22 сен 20, 15:04    [22201952]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1166
Dimitry Sibiryakov

Симонов Денис
Что удобней ориентироваться среди 100500 процедур/функций в плоском списке или
сгруппированным по пространству имён?

Для этого не нужны пакеты, достаточно схем. Вторые более удобны ещё и тем, что могут (при
желании) содержать не только процедуры и фунукции, но и другие объекты, такие как таблицы
и последовательности.


Еще сессионные переменные в пакетах. Как это решить схемами не знаю.
А вот насчет удобства ориентирования - вопрос спорный. Есть проект из 444 пакетов, в них около 9000 процедур. И что-то мне кажется, что особо проблем с ориентированием бы не прибавилось, если процедуры сделать отдельно без пакетов.
22 сен 20, 15:10    [22201956]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Alexander A. Sak
Еще сессионные переменные в пакетах. Как это решить схемами не
знаю.

GTT ON COMMIT PRESERVE?..

Posted via ActualForum NNTP Server 1.5

22 сен 20, 15:18    [22201965]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
ТРОЛЛИНГ ОН

Процедуры тоже не нужны!
Можно команды друг за другом выполнять. "Второе более удобны ещё и тем, что можно (при желании)" ( C ) команды выполнять в любом порядке!
22 сен 20, 15:19    [22201966]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

По личному опыту работы с oracle и sql server - пакеты на порядок удобнее, чем распихивать процедуры по схемам. Не говоря уж про возможность реализации protected процедур, переменные уровня пакета и удобство вынесения повторяющегося кода в отдельные процедуры уровня пакета.
22 сен 20, 15:26    [22201968]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Alexander A. Sak
Валерий Юринский
Пакеты пришли из языка программирования Ада.
...
Язык Ада был разработан по заказу Министерства обороны США.
Надежность для военных программ очень важна.

Складывается впечатление, что благодаря пакетам, оракловый PL/SQL надежен так же как софт для военных.

Помнится, адепты Interbase любили упомянуть, что Interbase используется в танках Абрамс и где-то у Боинга.
Я не делаю никаких выводов.
Я лишь сообщаю, что Oracle взяла язык Ада и построила на его основе язык PL/SQL.

Oracle могла это сделать, поскольку спецификация Ада была общедоступной,
так как была разработана на государственные деньги (налоги).

Из-за сложности реализации язык Ада не получил широкого распространения.
Компьютерные журналисты когда-то шутили
"Деньги налогоплательщиков США были потрачены Министерством обороны на разработку языка Ала не зря!
Компания Oracle создала на его основе язык PL/SQL"
:-)

P.S. Считаю, что эталоном операционной системы была и остается система DEC VMS/OpenVMS.
Основным заказчиком DEC были американские военные, разведка, служба безопасности и др.

Поэтому всё работало точно так, как было написано в документации и не иначе.
(Это я могу подтвердить на личном опыте)

P.P.S. Завершается многолетние работы по портированию OpenVMS на платформу Intel.
https://vmssoftware.com/updates/state-of-the-port/
Жду - не дождусь, когда система станет доступна и разработчики начнут переносить на неё свои продукты.
22 сен 20, 15:27    [22201969]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1166
Dimitry Sibiryakov

Alexander A. Sak
Еще сессионные переменные в пакетах. Как это решить схемами не
знаю.

GTT ON COMMIT PRESERVE?..


Не силен в постгресной архитектуре. Мусор разве не будет копиться? У меня один проект по импортозамещению зреет, и таки это вопрос не праздный, хотя и не срочный.
22 сен 20, 15:27    [22201970]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov
GTT ON COMMIT PRESERVE?..


Как минимум будет проигрывать по количеству строк кода на чтение/запись переменной.

з.ы. да, конечно селект/инсёрт можно и в одну строку записать..

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

Сообщение было отредактировано: 22 сен 20, 15:31
22 сен 20, 15:30    [22201975]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Leonid Kudryavtsev
ТРОЛЛИНГ ОН

Процедуры тоже не нужны!
Можно команды друг за другом выполнять. "Второе более удобны ещё и тем, что можно (при желании)" ( C ) команды выполнять в любом порядке!
TROLLING LEVEL UP

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

Разработчик делает свои файлы, в которых просто перечисляет в нужном порядке нужные ему файлы с нужными командами!

Можно подмешивать секретные файлы, которые умно называются, но ничего не делают,
кроме повышения затрат времени процессора и памяти!

:-)))))
22 сен 20, 15:33    [22201976]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

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

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

Posted via ActualForum NNTP Server 1.5

22 сен 20, 15:48    [22201984]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
Симонов Денис
Бумбараш,

пока не попробовал не поймёшь. Что удобней ориентироваться среди 100500 процедур/функций в плоском списке или сгруппированным по пространству имён?

да я знаю, что такое пакеты

что удобней при маленьком изменении перекомпилировать одну процедуру или десятиэтажный пакет?

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

Может пакеты это и неплохо. Но когда это продают как киллер фичу и задвигают телеги про то, что они надежны, потому что министерством обороны сша разработаны. Это лол
22 сен 20, 16:14    [22202001]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
пакеты это естественно не та фича (по мне это вообще копеешная фича), за которую надо платить 10ки тыщ долларов.

В контексте вопроса ТС пакеты играют лишь ту роль, что да, они зашились на пакеты и им будет из-за этого труднее мигрировать.
То есть сами усугубили себе вендор лок из-за пакетов. А это и есть минус пакетов
22 сен 20, 16:18    [22202006]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

В пакете обычно не смешивают процедуры, не объединённые общей бизнес-логикой или утилитарным функционалом. А вынесенный в отдельную таблицу ключ может использовать процедура, никак не связанная с логикой данного модуля. В вашем варианте, вызывая любую "чужую" процедуру, надо проверять, какие ключи она затрагивает.

Бумбараш,

а это и не киллер-фича. Просто удобство. Особенно, когда есть с чем сравнивать.
22 сен 20, 17:04    [22202055]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Бумбараш
То есть сами усугубили себе вендор лок из-за пакетов


Согласен. Надо сразу писать ANSI-совместимый код, вынося всю логику на уровень приложений. Тогда подойдёт в общем-то любая СУБД, вплоть до использования файлов. Никаких процедур - это вендор лок в любом случае. Никаких управлений уровнями изоляции и блокировками. Никаких типов данных, кроме наиболее примитивных. Никакого функционала с агрегатными и тем более оконными функциями. Только CRUD.

Вот тогда не будет проблем при миграции, стопудово!


А, забыл. Никакого BI - это тоже же вендор лок. Только свой велосипед на чистом SELECT.

Сообщение было отредактировано: 22 сен 20, 17:07
22 сен 20, 17:10    [22202057]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
Бумбараш
пакеты это естественно не та фича (по мне это вообще копеешная фича), за которую надо платить 10ки тыщ долларов.

В контексте вопроса ТС пакеты играют лишь ту роль, что да, они зашились на пакеты и им будет из-за этого труднее мигрировать.
То есть сами усугубили себе вендор лок из-за пакетов. А это и есть минус пакетов

Можно мигрировать на IBM DB2.
Там тоже есть PL/SQL и проблем с миграцией PL/SQL будет намного меньше!

* * *

Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.
Отсутствие такой фичи показывает полное убожество дорогущей базы Oracle. :-(

А вот PostgreSQL имеет в своем арсенале такую "киллер фичу"?
Можно в PostgreSQL делать SELECT из процедуры?
Или он такой же убогий, как Oracle?

:-)
22 сен 20, 17:49    [22202080]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
msLex
Member

Откуда:
Сообщений: 9011
Валерий Юринский
Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.


Вы имеете в виду select внутри процедуры, который возвращает DS при вызове этой процедуры?
или select * from procedure ?

второго в MS SQL нет
22 сен 20, 17:58    [22202084]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
msLex,

Первое
22 сен 20, 18:04    [22202087]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

env
А вынесенный в отдельную таблицу ключ может использовать процедура, никак не связанная с
логикой данного модуля.

Э-э-э... Не понял. Таблица в схеме, процедура в схеме, процедура обращается к таблице по
имени схемы, прав на таблицу "наружу" никому не выдано. Какая "никак не связанная с
логикой" процедура сможет её использовать?

Posted via ActualForum NNTP Server 1.5

22 сен 20, 19:18    [22202130]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
andy st
Member

Откуда:
Сообщений: 820
msLex
Валерий Юринский
Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.


Вы имеете в виду select внутри процедуры, который возвращает DS при вызове этой процедуры?
или select * from procedure ?

второго в MS SQL нет

как это нету?
select * from OPENQUERY ([loopback],'exec sys.sp_databases') where database_name like 'm%'

:)
22 сен 20, 20:46    [22202173]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

Любая. В той же схеме, но выполняющая другой кусок бизнес-логики.
23 сен 20, 10:24    [22202384]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

env
Любая. В той же схеме, но выполняющая другой кусок бизнес-логики.

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

Posted via ActualForum NNTP Server 1.5

23 сен 20, 12:41    [22202548]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

Разнесение логики по модулям (пакетам) выполнить проще. С меньшей вероятностью ошибки, нежели выискивать, кто из разработчиков в своей процедуре решил использовать тот же ключ из таблички или ошибся буковкой.

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

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

Соглашусь, что точечные процедуры в отдельных схемах будут удобнее, если на базе нет логики и она вынесена на уровень приложения. Для процедур, реализующих CRUD, так даже удобнее - можно нагенерить обвязку по отдельной схеме. Но это просто другой класс задач.
23 сен 20, 13:05    [22202570]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

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

Перелопатить сотню процедур в пакете проще, чем перелопатить сотню процедур в схеме? Или
просто у Вас не укладывается в голове существование схемы, созданной под три процедуры?..

Posted via ActualForum NNTP Server 1.5

23 сен 20, 13:15    [22202586]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Dimitry Sibiryakov

env
Любая. В той же схеме, но выполняющая другой кусок бизнес-логики.

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

всем отличается. в оракле у тебя в package 3 процедуры торчащих наружу, в его body 100 процедур закрытых от внешнего мира
а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?
23 сен 20, 13:22    [22202602]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

H5N1
а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?..

Posted via ActualForum NNTP Server 1.5

23 сен 20, 13:29    [22202617]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Dimitry Sibiryakov

H5N1
а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?..

действительно. не подумал. зачем девелоперу видеть код, многие вещи можно и угадать.
23 сен 20, 13:57    [22202655]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

H5N1
зачем девелоперу видеть код, многие вещи можно и угадать.

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

Posted via ActualForum NNTP Server 1.5

23 сен 20, 14:06    [22202669]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

Перелопатить сотню процедур в пакете

Сто процедур в пакете в большинстве случаев не требуется, т.к. это инкапсуляция логики отдельного процесса или утилитарного функционала, который можно и нужно декомпозировать на отдельные составляющие. Опережая вопрос, в этом случае вряд ли будет нужна некая общая переменная для всех процедур. А если такая нужна - выносится в пакет с глобальными переменными уровня сессии, где можно закрыть её через get/set-методы с проверкой вызывающего.

Или
просто у Вас не укладывается в голове существование схемы, созданной под три процедур

Нет, это Вам похоже очень сложно представить себе работу с пакетами, декомпозицию и инкапсуляцию логики. Лично я уже наелся при работе с sql server варианта "схема под три процедуры", спасибо, больше не хочется. Особенно, когда начинается рефакторинг общих вызовов с созданием новых схем.

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?

Пользователю (именно пользователю, т.е. приложению или вызывающему клиенту) не нужно знать код процедур. Ему достаточно знать контракт вызова в виде их сигнатуры, а не код реализации каждого метода. Не говоря уж о том, что у пользователя в принципе не должно быть возможности вызвать служебные методы, которые не предназначены для внешнего использования.
23 сен 20, 15:07    [22202747]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
В обратную сторону - у postgresql есть замечательная штука с объявлением окна, общего для нескольких функций. Прям хочется такое же.

Честно говоря, не знаю, насколько сейчас хорошо в postgesql с секционированием, что можно, какие поддерживаются способы и сочетания. Может кто подсказать?
23 сен 20, 15:14    [22202753]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Dimitry Sibiryakov

Конечно. Особенно хорошо с угадыванием помогают намёки документации.

документация ? что за легаси. только телеграмм бот !

Dimitry Sibiryakov

Хотя о чём это я, пользователю же можно просто вывалить заголовок пакета, а дальше он и сам разберётся, не
маленький.

о чем ты думаю ты и сам уже ответить не сможешь. чего девелопер должен делать, если ему нужно расширить "package" 101 процедурой я так и не понял.
23 сен 20, 16:18    [22202806]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
env
Нет, это Вам похоже очень сложно представить себе работу с пакетами, декомпозицию и инкапсуляцию логики.

Вы, похоже, недавно знакомы с Димой. Наверное, Вы видели такой эффект: ребёнок пытается перепрыгнуть через скамейку, недопрыгивает, падает и кричит: "Плохая скамейка!" Вот у Димы примерно такие же взаимоотношения с Oracle-ом.
23 сен 20, 17:44    [22202869]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

softwarer
Вот у Димы примерно такие же взаимоотношения с Oracle-ом.

Хммм... Переход на личности... В ФИДО это был бы верный признак, что дискуссия слита и её
можно пристрелить.

Posted via ActualForum NNTP Server 1.5

23 сен 20, 17:48    [22202874]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Dimitry Sibiryakov,

Расчехляйте плюсомёт, что уж там
23 сен 20, 17:50    [22202876]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
IMHO Дискуссия слита еще на первой странице. Сейчас остался только флейм и троллинг

наброс "Что есть в oracle и нет в postgresql?" на вентилятор, слишком толсто и тяжело - не взлетит.
23 сен 20, 17:53    [22202880]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Dimitry Sibiryakov
Хммм... Переход на личности... В ФИДО это был бы верный признак, что дискуссия слита и её можно пристрелить.

За пристреливанием дискуссии в ФИДО я бы понаблюдал с отдельным интересом Переход же на личности состоялся не позже чем в 22202586, так что оттирайте зеркало.
23 сен 20, 17:57    [22202885]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
softwarer,

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

Возвращаясь к теме, насколько я помню, в postgresql более сложным образом реализовано секционирование и нет автоматического интервального и списочного создания новых секций. С другой стороны - это платная опция в Oracle и в "дешёвых" редакциях недоступна даже за деньги.
23 сен 20, 18:01    [22202890]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Тема миграции из Oracle в PostgreSQL вешь интересная, но если обсуждать, то как-то более конкретно. Что за проект, какой объем кода, что за клиент, какие функции Oracle отсутствовали в PostgreSQL, как удалось извернуться.... был ли какой-то плюс от перехода или наоборот

но данная тема и троллинг про пакеты - на вменяемое обсуждение проблем миграции реальных приложений не тянет
23 сен 20, 18:05    [22202896]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Вроде в PostgreSQL еще нет autonomous transaction
23 сен 20, 18:07    [22202902]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Leonid Kudryavtsev
но если обсуждать, то как-то более конкретно

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

Проблемы в основном возникают у особо упёртых библиотек, где "делаем именно так или никак"
и у приложений, где доступ к БД размазан тонким слоем по всем модулям. Опять же, ваш Кэп.

Posted via ActualForum NNTP Server 1.5

23 сен 20, 18:20    [22202917]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Dimitry Sibiryakov

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

Ну вот у нас он не размазан. Все в одном месте (в базе)

В Oracle более 707 штук пакетов (реально даже больше)

Обычно пакеты по тысяча - 3 тысячи строк кода. Кол-во процедур/функций - не знаю

Т.е. примерно миллион строк кода на PL/SQL

Я конечно понимаю, что пакеты можно преобразовать в 707 разных схем, вместо автономных транзакций наделать DbLink'ов, а все остальное просто просмотреть глазами и переписать

Но нафига это надо - не понятно.

AFAIK
23 сен 20, 18:39    [22202948]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

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

Leonid Kudryavtsev
Но нафига это надо - не понятно.

Вот именно. Первый и главный проклятый вопрос при миграции.

У коробочных продуктов ещё есть повод: "поддержав СУБД Х в дополнение к СУБД У мы расширим
рынок нашего продукта на Й процентов", но мигрировать самописную систему...

Posted via ActualForum NNTP Server 1.5

23 сен 20, 18:47    [22202953]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Dimitry Sibiryakov
но мигрировать самописную систему...

Тоже могут быть основания. Например, ликвидация зоопарка. А зоопарк мог появиться, например, при покупке другой конторы.
23 сен 20, 18:54    [22202959]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
istrebitel
Member

Откуда:
Сообщений: 137
Один пакет - одна подсистема
+Константы и пакетные переменные
CREATE OR REPLACE 
PACKAGE syn_sap
  IS
TYPE t_errs IS TABLE OF syn_errors%ROWTYPE INDEX BY pls_integer;

resource_busy EXCEPTION;
PRAGMA EXCEPTION_INIT (resource_busy, -54);

erNotFoundKATMC CONSTANT    NUMBER (5)  := -20100; -- Not found record in KATMC
erCantNextFNUM  CONSTANT    NUMBER(5)   := -20101; -- Cannot get next FNUM
erNotFoundSPKAU CONSTANT    NUMBER (5)  := -20102; -- Not found record in SPKAU


PREFIX_BAR      CONSTANT    VARCHAR2(4) := 'КСМ_';  -- Префикс для баркода МЦ при импорте в галактику.
PREFIX_MCGR     CONSTANT    VARCHAR2(2) := 'R_';    -- Префикс для кода групп МЦ при импорте в галактику.
DEF_GRNAL       CONSTANT    VARCHAR2(16):= '800100000000000A'; -- Группа налогов "Основная 20 % c 01.01.04 18%"
-- Константы ошибок
erNewDoubl      CONSTANT    NUMBER := 1; -- E Дублирование MATNUM в SYN_NEW
wrKsmDoubl      CONSTANT    NUMBER := 2; -- E Материал с таким кодом уже существует в КСМ
erKsmNFound     CONSTANT    NUMBER := 3; -- E Материал с таким кодом отсутствует в КСМ
erEuNFound      CONSTANT    NUMBER := 4; -- E Не найдено соответствие единицы измерения
wrGrMcNFound    CONSTANT    NUMBER := 5; -- W Не найдена группа МЦ с кодом
erKatMcNFound   CONSTANT    NUMBER := 6; -- E Не найдена запись в KATMC
erEuChange      CONSTANT    NUMBER := 7; -- E Изменение единицы измерения у существующей записи
wrMcNameChange  CONSTANT    NUMBER := 8; -- W Изменение наименования МЦ
wrGrMcChange    CONSTANT    NUMBER := 9; -- W Изменение Группы МЦ
wrMcFullnameEr  CONSTANT    NUMBER := 10;  -- W Ошибка присвоения варианта наименования вар1
erKatMcDoubl    CONSTANT    NUMBER := 11;  -- E Материал с таким кодом уже существует в KATMC

erGrMcDoubl     CONSTANT    NUMBER := 12;  -- E Группа с таким кодом уже существует в GROUPMC
erGrMcNFound    CONSTANT    NUMBER := 13;  -- E Не найдена запись в GROUPMC
erGrMcDoublName CONSTANT    NUMBER := 14;  -- E Не удалось создать группу (постфикс не помещается или все цифры заняты)
wrGrMcDoublName CONSTANT    NUMBER := 15;  -- W Наименование группы было изменено из за дублирования

cATTRVAR1       CONSTANT    VARCHAR2(16) := '8001000000000167'; -- Внешний атрибут вар1 пользовательской аналитики

-- Коды таблиц
tblX$USERS		CONSTANT	NUMBER(1, 0) := 6; -- Код таблицы X$USERS

tblBASEDOC		CONSTANT	NUMBER(5, 0) := 1102;
tblSPSTEP		CONSTANT	NUMBER(5, 0) := 1104;
tblSPDOCNAL		CONSTANT	NUMBER(5, 0) := 1105;
tblKATSOPR		CONSTANT	NUMBER(5, 0) := 1109;
tblSPSOPR		CONSTANT	NUMBER(5, 0) := 1110;
tblSPORDER		CONSTANT	NUMBER(5, 0) := 1112;
tblSOPRORDB		CONSTANT	NUMBER(5, 0) := 1127;
tblKATPODR		CONSTANT    NUMBER(4, 0) := 1413; -- Код таблицы KATPODR
tblKATPARTY		CONSTANT    NUMBER(4, 0) := 1430;
tblKLVAL		CONSTANT	NUMBER(4, 0) := 1436; -- Код таблицы KLVAL
tblGRNAL		CONSTANT	NUMBER(5, 0) := 1440;
tblDOGOVOR		CONSTANT	NUMBER(4, 0) := 1707; -- Код таблицы DOGOVOR
tblSPKAU        CONSTANT    NUMBER(4, 0) := 8512; -- Код таблицы SPKAU
-- Коды аналитик
cstGrKauPodrs			CONSTANT gal810.spkau.fkodgrkau%TYPE := 2; -- Подразделения
cstGrKauGroupParty		CONSTANT gal810.spkau.fkodgrkau%TYPE := 11; -- Код аналитики Группы партий МЦ
cstGrKauParty			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10; -- Партии МЦ
cstGrKauObjStroy		CONSTANT gal810.spkau.fkodgrkau%TYPE := 40; -- Код аналитики Объекты строительства
cstGrKauVal				CONSTANT gal810.spkau.fkodgrkau%TYPE := 75; -- Валюты
cstGrKauGrNal			CONSTANT gal810.spkau.fkodgrkau%TYPE := 5059; -- Группы налогов
cstGrKauManagStock		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10127; -- Код аналитики Менеджеры запасов
cstGrKauKatsod			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10129; -- Код аналитики Каталог SOD
cstGrKauPlanInvolv		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10131; -- Плановая дата вовлечения МПЗ
cstGrKauSppEl			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10134; -- Код аналитики СПП-элемент
cstGrKauSAPNalogs		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10137; -- Коды налогов SAP
cstGrKauSAPValuts		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10138; -- Коды валют SAP
cstGrKauSAPPodrs		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10139; -- Коды подразделений SAP

-- Статусы записей в архивах
cstRecStInsert			CONSTANT NUMBER(1, 0) := 1; -- Вставлена
cstRecStModOld			CONSTANT NUMBER(1, 0) := 2; -- Изменена, было
cstRecStModNew			CONSTANT NUMBER(1, 0) := 3; -- Изменена, стало
cstRecStDelete			CONSTANT NUMBER(1, 0) := 4; -- Удалена

-- Флаги требуемых изменений в БД (NeedChangeDataBase)
cstNCDBNoChanges		CONSTANT NUMBER(1, 0) := 0; -- Нет необходимости изменять данные
cstNCDBNeedInsert		CONSTANT NUMBER(1, 0) := 1; -- Необходима вставка
cstNCDBNeedUpdate		CONSTANT NUMBER(1, 0) := 2; -- Необходима модификация
cstNCDBNeedDelete		CONSTANT NUMBER(1, 0) := 3; -- Необходимо удаление

cstMessTypeInfo			CONSTANT NUMBER(1, 0) := 0;
cstMessTypeWarn			CONSTANT NUMBER(1, 0) := 1;
cstMessTypeErr			CONSTANT NUMBER(1, 0) := 2;
-- Типы документов
cstSAPDTdogovor			CONSTANT syn_actmessages.doctype%TYPE := 0; -- Договор
cstSAPDTdocmat			CONSTANT syn_actmessages.doctype%TYPE := 1; -- Документ материала
cstSAPDTzakaz			CONSTANT syn_actmessages.doctype%TYPE := 2; -- Заказ
cstSAPDTschetfact		CONSTANT syn_actmessages.doctype%TYPE := 3; -- Счёт фактура
cstSAPDTksm				CONSTANT syn_actmessages.doctype%TYPE := 4; -- Материал
cstSAPDTcontragent		CONSTANT syn_actmessages.doctype%TYPE := 5; -- Контрагент

cstGALDTdopurch			CONSTANT gal810.soprhoz.ftipdoc%TYPE := 41; -- Документ основание на закупку
cstGALDTtipdopurch		CONSTANT gal810.spdocnal.ftipdoc%TYPE := 1101; -- Документ основание на закупку (Тип)
cstGALDTnaklinmat		CONSTANT gal810.katsopr.fvidsopr%TYPE := 101; -- Накладная на приём МЦ
cstGALDTreceiptorder	CONSTANT gal810.katsopr.fvidsopr%TYPE := 150; -- Приходный складской ордер
cstGALDTnakloutmat		CONSTANT gal810.katsopr.fvidsopr%TYPE := 201; -- Накладная на отпуск МЦ
cstGALDTconsumeorder	CONSTANT gal810.katsopr.fvidsopr%TYPE := 250; -- Приходный складской ордер
cstGALDTnaklintmove		CONSTANT gal810.katsopr.fvidsopr%TYPE := 600; -- Накладная на внутреннее перемещение
cstGALDTnaklskl2os		CONSTANT gal810.katsopr.fvidsopr%TYPE := 601; -- Накладная склад -> ОС
cstGALDTnaklskl2spec	CONSTANT gal810.katsopr.fvidsopr%TYPE := 602; -- Накладная склад -> Спецоснастка
cstGALDTactregrad		CONSTANT gal810.katsopr.fvidsopr%TYPE := 630; -- Акт на пересертицу
cstGALDTactmoveobj		CONSTANT gal810.katsopr.fvidsopr%TYPE := 632; -- Акт на перемещение между объектами

updrate_syn_activity	CONSTANT NUMBER(3, 0) := 1; -- Частота обновления таблицы прогресса
ownerGal				CONSTANT VARCHAR2(16) := '8001000000000C21'; -- От имени кого будут проводиться изменения в таблицах галактики
cstTestingDescr			CONSTANT VARCHAR2(3) := ''; -- Дескриптор для тестирования (если не NULL то все документы будут создаваться с этим дескриптором)
cstEmptyDescr			CONSTANT VARCHAR2(3) := 'R3_'; -- Если пользователь не найден то документ будет создан с этим дескриптором

NullFnrec				CONSTANT gal810.DOGOVOR.FNREC%TYPE := '8000000000000000';

cstDogPrepareStatus		CONSTANT gal810.DOGOVOR.FCNOTE%TYPE := '800100000000001B';
cstDopnikPrepareStatus	CONSTANT gal810.DOGOVOR.FCNOTE%TYPE := '800100000000004E';
cstDOPrepareStatus		CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AD1'; -- Получен из SAP
cstDOStornStatus		CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AE0'; -- сторнирован SAP
cstDOMovetobuhStatus	CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AD2'; -- Передан в бухгалтерию
cstSOPRPrepareStatus	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AD3'; -- Получен из SAP
cstAktMoveObjPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE6'; -- Получен из SAP
cstAktReGradPrepare		CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000B03'; -- Получен из SAP
cstNaklSkl2OsPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE7'; -- Получен из SAP
cstNaklSkl2SpecPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE8'; -- Получен из SAP
cstNaklIntMovePrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AEA'; -- Получен из SAP

cstSOPRMovetobuhStatus	CONSTANT gal810.katsopr.fcnote%TYPE := '8001000000000AD4'; -- Передан в бухгалтерию
cstVidDogOwnD			CONSTANT gal810.KATVIDD.FCOWNER%TYPE := '8001000000000151'; -- Вид "Доходный договор"
cstVidDogOwnK			CONSTANT gal810.KATVIDD.FCOWNER%TYPE := '8001000000000179'; -- Вид "Расходный договор"
cstCoDeclarerMPZ		CONSTANT gal810.fpco.fcnode%TYPE := '80010000000000E9'; -- Папка "Заявители МПЗ" центров ответственности
cstFCPAYMENT			CONSTANT gal810.basedoc.fcpayment%TYPE := '800100000000000D'; -- Форма расчёта "Безналичная"

cstRurVal				CONSTANT gal810.klval.fnrec%TYPE := '800100000000000B'; -- Валюта RUR
cstWithOutOrg			CONSTANT gal810.katorg.fnrec%TYPE := '8001000000003CA4'; -- Контрагент "БЕЗ ОРГАНИЗАЦИИ"
cstWithOutDogPurchMat	CONSTANT gal810.dogovor.fnrec%TYPE := '8001000000007459'; -- Договор "БД_РН_Покупка мат."
cstAttrNamNumScvd		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '80010000000011F3'; -- Внешний атрибут "Номер СЦВД" таблицы договоров
cstAttrNamSysNum		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000121B'; -- Внешний атрибут "Системный номер SAP" таблицы договоров
cstAttrNamDO			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001252'; -- Внешний атрибут "(SAP) Счёт фактура" таблицы документов оснований (рабочая)
--cstAttrNamDO			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001257'; -- Внешний атрибут "(SAP) Счёт фактура" таблицы документов оснований (тест)
cstAttrNamSopr			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000124D'; -- Внешний атрибут "(SAP) Документ материала" таблицы накладных
cstAttrNamNaklDog		CONSTANT gal810.attrval.fcattrnam%TYPE := '800100000000020B'; -- Внешний атрибут "Договор" таблицы накладных
cstAttrNamFirstPart		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001257'; -- Внешний атрибут "10Первичная партия" таблицы Партии МЦ
cstAttrNamParentPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001258'; -- Внешний атрибут "11Родительская партия" таблицы Партии МЦ
cstAttrNamSchOstPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000125C'; -- Внешний атрибут "12Счет учета МПЗ(остатки)" таблицы Партии МЦ
cstAttrNamSchPostPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000125E'; -- Внешний атрибут "14Счет учета МПЗ при поступлении" таблицы Партии МЦ
cstBE					CONSTANT VARCHAR2(4 CHAR) := '1299';
cstMANDAT				CONSTANT VARCHAR2(3 CHAR) := '400';
cstFactory9901			CONSTANT CHAR(16) := '8001000000011EA7';
cstFactory9902			CONSTANT CHAR(16) := '8001000000011EA9';
cstFactory9903			CONSTANT CHAR(16) := '80010000000120BB';
--cstKatRelSkl2Mol		CONSTANT CHAR(16) := '800100000000014E'; -- Каталог соотвествия склад мол
cstRusFedKatState		CONSTANT gal810.spgrnal.fccountry%TYPE := '8000000000000002'; -- Российская Федерация
cstNDScnalog			CONSTANT gal810.spgrnal.fcnalog%TYPE := '8000000000000002'; -- Налог на добавленную стоимость
cstNDSWOutNDS 			CONSTANT gal810.grnal.fnrec%TYPE := '8001000000000046'; -- Группа налогов "без НДС"
cstNDSOsn20				CONSTANT gal810.grnal.fnrec%TYPE := '800100000000000A'; -- Группа налогов "Основная 20 % c 01.01.04 18%"
cstCUCapConst			CONSTANT gal810.specmtr.fcsaldtune%TYPE := '8000000000000002'; -- Целевой учёт "Управление капитальным строительством"
cstGrPartOD				CONSTANT gal810.groupparty.fnrec%TYPE := '8001000000000114'; -- Операционная деятельность (группа партий)
cstGrSchOD				CONSTANT gal810.spgrsch.fcgroupsch%TYPE := '80010000000000B4'; -- Операционная деятельность (Группа ДО/Договоров)
cstGrPartNotIncEquip 	CONSTANT gal810.groupparty.fnrec%TYPE := '8001000000000547'; -- Оборудование не входящее в смету строек (группа партий)
cstGrSchNotIncEquip		CONSTANT gal810.spgrsch.fcgroupsch%TYPE := '8001000000000346'; -- Оборудование не входящее в смету строек (Группа ДО/Договоров)
cstPodrInstall			CONSTANT gal810.katpodr.fnrec%TYPE := '800100000001155B'; -- Оборудование, переданное в монтаж (подрядчики)
cstConstrMat			CONSTANT gal810.katpodr.fnrec%TYPE := '8001000000000027'; -- Строительные материалы (подрядчики) (с)
cstEquipmentCapex		CONSTANT gal810.addsumtune.fnrec%TYPE := '800100000000000C'; -- Статья затрат строительства "Оборудование  (capex)"
cstMolOutCommon			CONSTANT gal810.katmol.fnrec%TYPE := '8001000000000856'; -- МОЛ для списания (общий)
cstCZCentrEquip			CONSTANT gal810.katpodr.fnrec%TYPE := '80010000000092FA'; -- ЦЗ База оборудования
cstCZOtherConsum		CONSTANT gal810.katpodr.fnrec%TYPE := '8001000000005252'; -- ЦЗ Прочие расходы

cstReplStStornInLocSys	CONSTANT NUMBER(1, 0) := 3; -- Сторнирован в ЛИС
cstReplStApllyInLocSys	CONSTANT NUMBER(1, 0) := 2; -- Принят к учёту
cstReplStTransInLocSys	CONSTANT NUMBER(1, 0) := 1; -- Передан в ЛИС
cstReplStNotProcessed	CONSTANT NUMBER(1, 0) := 0; -- Не обрабатывался
cstReplStDogLinkFail	CONSTANT NUMBER(1, 0) := -1; -- Договор не сопоставлен в ЛИС
cstReplStSchFactNFound	CONSTANT NUMBER(1, 0) := -2; -- Счёт фактура не зарегестрирована (в SAP)
cstReplStDocNumEmpty	CONSTANT NUMBER(1, 0) := -3; -- Не указан номер документа
cstReplStFullDistrib	CONSTANT NUMBER(1, 0) := -4; -- Документ распределён не полностью
cstReplStKSMNfound		CONSTANT NUMBER(1, 0) := -5; -- Код КСМ не определён в ЛИС
cstReplStOther			CONSTANT NUMBER(1, 0) := -6; -- Прочее
cstReplStDogovorEmpty	CONSTANT NUMBER(1, 0) := -7; -- Не указан договор


vdCuObj					gal810.specmtr.fcobj%TYPE;	-- Значения по умолчанию
vdCuKau1				gal810.specmtr."FCKAU[1]"%TYPE;
vdCuKau2				gal810.specmtr."FCKAU[2]"%TYPE;
vdCuKau3				gal810.specmtr."FCKAU[3]"%TYPE;
vdCuKau4				gal810.specmtr."FCKAU[4]"%TYPE;
vdCuKau5				gal810.specmtr."FCKAU[5]"%TYPE;
vdCuKau6				gal810.specmtr."FCKAU[6]"%TYPE;
vdCuKau7				gal810.specmtr."FCKAU[7]"%TYPE;
vdCuKau8				gal810.specmtr."FCKAU[8]"%TYPE;
vdCuKau9				gal810.specmtr."FCKAU[9]"%TYPE;
vMyOrg_fnrec			gal810.KATORG.FNREC%TYPE;
vMyBank_fnrec			gal810.KATBANK.FNREC%TYPE;

-- ... 22000 строк кода процедур и функции


Инициализируем переменные один раз, при первом обращении к пакету, используем сколько влезет.
BEGIN
	-- Инициализация пакета
	-- Считываем дефолтные значения
	SELECT a.vstring INTO vdCuObj FROM syn_settings a WHERE a.settingname = 'CU.OBJ';
	SELECT a.vstring INTO vdCuKau1 FROM syn_settings a WHERE a.settingname = 'CU.KAU1';
	SELECT a.vstring INTO vdCuKau2 FROM syn_settings a WHERE a.settingname = 'CU.KAU2';
	SELECT a.vstring INTO vdCuKau3 FROM syn_settings a WHERE a.settingname = 'CU.KAU3';
	SELECT a.vstring INTO vdCuKau4 FROM syn_settings a WHERE a.settingname = 'CU.KAU4';
	SELECT a.vstring INTO vdCuKau5 FROM syn_settings a WHERE a.settingname = 'CU.KAU5';
	SELECT a.vstring INTO vdCuKau6 FROM syn_settings a WHERE a.settingname = 'CU.KAU6';
	SELECT a.vstring INTO vdCuKau7 FROM syn_settings a WHERE a.settingname = 'CU.KAU7';
	SELECT a.vstring INTO vdCuKau8 FROM syn_settings a WHERE a.settingname = 'CU.KAU8';
	SELECT a.vstring INTO vdCuKau9 FROM syn_settings a WHERE a.settingname = 'CU.KAU9';

	SELECT  
		ko.fnrec INTO vMyOrg_fnrec
	FROM
		gal810.tunedef tdMyOrg
		JOIN gal810.tuneval tvMyOrg ON tvMyOrg.fctune = tdMyOrg.fnrec AND tvMyOrg.fobj = 1
		JOIN gal810.katorg ko ON ko.fnrec = tvMyOrg.fcompval
	WHERE
		tdMyOrg.fcode$up = 'MYORG';

	SELECT  
		rsch.fnrec INTO vMyBank_fnrec
	FROM
		gal810.tunedef tdMyBank
		JOIN gal810.tuneval tvMyBank ON tvMyBank.fctune = tdMyBank.fnrec AND tvMyBank.fobj = 1
		JOIN gal810.katbank rsch ON rsch.fnrec = tvMyBank.fcompval
	WHERE
		tdMyBank.fcode$up = 'MYBANK';
END;

Можно ли написать тот же функционал без пакетов? Да можно, конечно, только сопровождать будет тот ещё геморрой. Если проект из разряда один раз написать и больше туда не заглядывать, то покатит. А если постоянная разработка/доработка, то без пакетов тяжко.
23 сен 20, 19:26    [22202993]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Dimitry Sibiryakov
но мигрировать самописную систему...

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

Обычно при покупке конторы она какое-то время работает на том же софте, на котором работала до её покупки.

Для отчетности делают выгрузки данных в унифицированное хранилище.

В это время идет внедрение корпоративной системы, принятой в материнской компании:
обучение сотрудников, подготовка к миграции данных, изменение технологий работы и др.

Потом данные мигрируют, и все переходят к работе на единой информационной системе корпорации.

Старая система не переписывается, а списывается в утиль.

Так проще и дешевле ликвидировать "зоопарк".
23 сен 20, 22:01    [22203062]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Валерий Юринский
В это время идет внедрение корпоративной системы, принятой в материнской компании:

Для начала, "корпоративная система, принятая в материнской компании" далеко не всегда способна обслужить бизнес дочерней.

+
А если это какой-нибудь ебизнес сьют, так она и бизнес материнской не в состоянии обслужить
23 сен 20, 22:16    [22203072]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Валерий Юринский
В это время идет внедрение корпоративной системы, принятой в материнской компании:

Для начала, "корпоративная система, принятая в материнской компании" далеко не всегда способна обслужить бизнес дочерней.

+
А если это какой-нибудь ебизнес сьют, так она и бизнес материнской не в состоянии обслужить
Тогда бизнес дочерней компании "натягивают" на требования информационной системы материнской компании.
1) Это оказывается проще и дешевле.
2) Проводится унификация бизнес-процессов.
Именно так делается при внедрении SAP.

При использовании "ебизнес суит" информационная система подстраивается под бизнес.
При использовании SAP бизнес подстраивается под информационную систему.
23 сен 20, 23:44    [22203116]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Валерий Юринский
Тогда бизнес дочерней компании "натягивают"

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.
23 сен 20, 23:52    [22203119]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Валерий Юринский
Тогда бизнес дочерней компании "натягивают"

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.

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

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.
24 сен 20, 00:00    [22203124]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Валерий Юринский
softwarer
пропущено...

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.

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

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.


В массе своей все внедрения SAP в РФ были для прохождения стандарта ISO 20000.
Типа при внедрении SAP сертификат со скидкой.
Сертификат нужен был, для торговли на международных площадках.
В общем внедряли за дорого "хтонический ужас", чтобы получить бумажку.

Некоторые "хитрецы" типа РЖД, внедряли SAP мимо официальных конслатеров.
Типа экономили на спичках.
Это было еще веселее.


Сейчас я не знаю, внедряют ли массово SAP.
В основном мне кажется, что он больше на поддержке/развитии, чем на внедрении.
24 сен 20, 07:54    [22203181]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
mad_nazgul
Валерий Юринский
пропущено...

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

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.


В массе своей все внедрения SAP в РФ были для прохождения стандарта ISO 20000.
Типа при внедрении SAP сертификат со скидкой.
Сертификат нужен был, для торговли на международных площадках.
В общем внедряли за дорого "хтонический ужас", чтобы получить бумажку.

Некоторые "хитрецы" типа РЖД, внедряли SAP мимо официальных конслатеров.
Типа экономили на спичках.
Это было еще веселее.


Сейчас я не знаю, внедряют ли массово SAP.
В основном мне кажется, что он больше на поддержке/развитии, чем на внедрении.

Думаю, что сейчас новые внедрения большая редкость.
Все, кто хотел, уже внедрили у себя SAP, Oracle EBS и др.

Но это тема для обсуждения на форуме ERP и учетные системы
24 сен 20, 16:03    [22203600]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
Рындин кстати действительно ушел из Оракла.

Остальным продавцам и фанатам этой старой коробки стоит задуматься.
26 сен 20, 14:34    [22204738]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Бумбараш,

Да норм всё будет.
У этого комбайна есть будущее, пока будут любители пихать всю бизнес-логику в БД.
Правда проблемы у Oracle будут не от PostgreSQL, а скорее со стороны микросеврисов.
Т.е. другой архитектуры построения ИС.
Но микрсоервисную архитектуру мало кто умеет готовить.
Так что Oracle ещё долго будет востребован.
28 сен 20, 06:22    [22205202]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Проблемы будут ровно то тех пор, "пока будут любители пихать всю бизнес-логику в" ( C ) микросервисы.

Но, поскольку, даже по Вашим словам "микрсоервисную архитектуру мало кто умеет готовить." - то они и не предвидятся.
28 сен 20, 08:08    [22205222]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Favn
Member

Откуда:
Сообщений: 584
Leonid Kudryavtsev,
как раз бизнес логике там самое и место.
А вот нежелание (лень) отделять логику сервисов от архитектуры хранилищ (каждому сервису - по субдушке, а дальше девопсы как-нибудь...) - да, серьёзный источник проблем. Но, к сожалению, отложенных.
28 сен 20, 17:32    [22205844]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
mad_nazgul

Правда проблемы у Oracle будут не от PostgreSQL, а скорее со стороны микросеврисов.
Т.е. другой архитектуры построения ИС.

проблемы будут у местных потребителей оракла, которые сидят на on preme, а оракл и майкрософт уже давно работают только на облака

и On-prem решения не развивают. Зачем им это делать, если в какой-то тьмутаракани сидят только на on preme, когда она занимает 1% в их доходе?
28 сен 20, 17:55    [22205864]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".
28 сен 20, 18:19    [22205893]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
softwarer
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".

по делу есть чего?
28 сен 20, 18:35    [22205910]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".
:-)
Р. Киплинг
Они жили на вершинах деревьев, а так как звери редко смотрят вверх,
то обезьянам и Народу Джунглей не приходилось встречаться.

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

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

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

В конце концов они помирились на том, что придумали поговорку:
«Все джунгли будут думать завтра так, как обезьяны думают сегодня»,
и очень этим утешались.

Никто из зверей не мог до них добраться, и никто не обращал на них внимания…

+ Original

They belonged to the tree-tops, and as beasts very seldom look up, there was no occasion for the monkeys and the Jungle-People to cross each other’s path. But whenever they found a sick wolf, or a wounded tiger, or bear, the monkeys would torment him, and would throw sticks and nuts at any beast for fun and in the hope of being noticed. Then they would howl and shriek senseless songs, and invite the Jungle-People to climb up their trees and fight them, or would start furious battles over nothing among themselves, and leave the dead monkeys where the Jungle-People could see them. They were always just going to have a leader, and laws and customs of their own, but they never did, because their memories would not hold over from day to day, and so they compromised things by making up a saying, “What the Bandar-log think now the jungle will think later,” and that comforted them a great deal. None of the beasts could reach them, but on the other hand none of the beasts would notice them,..

28 сен 20, 20:15    [22205972]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
К вопросу об инкапсуляции логики и схемах. 22208282

Понятно, что в данном случае лучше было подумать, как вынести эту логику за пределы бд, но людей чисто по-человечески жаль.
5 окт 20, 10:29    [22208930]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
env
Понятно, что в данном случае лучше было подумать, как вынести эту логику за пределы бд

Лучше было подумать, как оставить её на месте. Любят люди на пустом месте создавать себе проблемы....
5 окт 20, 12:10    [22208972]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
softwarer,

Обычно ораклозамещение спускается сверху под эгидой экономии бабла. И в особо печальных случаях ещё и с коортким дедлайном.
5 окт 20, 12:21    [22208976]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
env
Обычно ораклозамещение спускается сверху под эгидой экономии бабла.

Угу. А в итоге либо в лучшем случае перераспил бабла, либо, что более вероятно, просто спускание его в унитаз.
5 окт 20, 12:31    [22208982]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Swa111
Member

Откуда:
Сообщений: 230
Есть одна фишка PostgreSQL которой нет в Oracle, которая очень понравилась - это обновление/удаление/вставка данных одним запросом и возможно даже в разные таблицы. Ну и такая мелочь как нативная поддержка JSON, массивов которые можно хранить в таблицах и обрабатывать SQL запросами.
Преимущество в Oracle это скорость работы, т.е. движок прощает хреновый код начинающих программистов. В PG приходится продумывать каждый свой шаг.
24 окт 20, 20:16    [22220157]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Никанор Кузьмич
Member

Откуда: Москва
Сообщений: 506
Swa111
Есть одна фишка PostgreSQL которой нет в Oracle, которая очень понравилась - это обновление/удаление/вставка данных одним запросом и возможно даже в разные таблицы.
Прямо вот совсем-совсем нет? В Oracle есть:
1) вставка и/или обновление одним запросом - MERGE
2) вставка в несколько таблиц, в том числе с условиями, - INSERT ALL
А как это выглядит в postgres? Подкиньте ссылочку.

Swa111
Ну и такая мелочь как нативная поддержка JSON
Не знаю, насколько там все нативно в Postgres, но в Oracle есть поддержка json. С версии 12.1, емнип.

Swa111
массивов которые можно хранить в таблицах
...на случай, если программист не осилил нормальные формы...
25 окт 20, 15:36    [22220382]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
Swa111
обновление/удаление/вставка данных одним запросом

Логичней выглядит порядок вставка/обновление/удаление, в таблице ничего не появилось, но база очень занята.
26 окт 20, 10:30    [22220582]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Ден
Member

Откуда: Москва
Сообщений: 2079
Никанор Кузьмич
Swa111
Есть одна фишка PostgreSQL которой нет в Oracle, которая очень понравилась - это обновление/удаление/вставка данных одним запросом и возможно даже в разные таблицы.
Прямо вот совсем-совсем нет? В Oracle есть:
1) вставка и/или обновление одним запросом - MERGE
2) вставка в несколько таблиц, в том числе с условиями, - INSERT ALL
А как это выглядит в postgres? Подкиньте ссылочку.

Swa111
Ну и такая мелочь как нативная поддержка JSON
Не знаю, насколько там все нативно в Postgres, но в Oracle есть поддержка json. С версии 12.1, емнип.

Swa111
массивов которые можно хранить в таблицах
...на случай, если программист не осилил нормальные формы...

Мне тоже интересны как это в PostgreSQL делается, merge там нету.. и аналогов не нашел..
15 дек 20, 12:23    [22248151]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 1070
Ден
Никанор Кузьмич
пропущено...
Прямо вот совсем-совсем нет? В Oracle есть:
1) вставка и/или обновление одним запросом - MERGE
2) вставка в несколько таблиц, в том числе с условиями, - INSERT ALL
А как это выглядит в postgres? Подкиньте ссылочку.

пропущено...
Не знаю, насколько там все нативно в Postgres, но в Oracle есть поддержка json. С версии 12.1, емнип.

пропущено...
...на случай, если программист не осилил нормальные формы...

Мне тоже интересны как это в PostgreSQL делается, merge там нету.. и аналогов не нашел..

Ждите. В стандарте SQL merge есть давно. Можно в Инете почитать как идёт борьба в PG. Странные люди на мой взгляд. Это я про разрабов PG.
15 дек 20, 13:01    [22248196]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Ден
Member

Откуда: Москва
Сообщений: 2079
KreatorXXI
Ден
пропущено...

Мне тоже интересны как это в PostgreSQL делается, merge там нету.. и аналогов не нашел..

Ждите. В стандарте SQL merge есть давно. Можно в Инете почитать как идёт борьба в PG. Странные люди на мой взгляд. Это я про разрабов PG.

Да я знаю об этом, нашел инфу, что даже в одном из релизов было реализовано это..
но просто был проектик, где миграция с оракла на PostgreSQL была, выяснилось, что merge нету-) ну в принципе это не критично там было..
15 дек 20, 16:38    [22248394]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
KreatorXXI
Можно в Инете почитать как идёт борьба в PG. Странные люди на мой взгляд. Это я про разрабов PG.

Читать можно. А разобраться самому все же полезней.

Навеска MERGE на уже имеющийся INSERT ... ON CONFLICT ... с одной стороны, добавляла только WHEN NOT MATCHED BY SOURCE, а с другой стороны сохраняла всю кривизну UPSERT, когда WHEN MATCHED отрабатывает уже после попытки INSERT и обнаружении дублирующего ключа. Утрирую немного. Если более честно, между слияемыми наборами данных осуществляется исключительно LOOP JOIN, а варианты HASH и MERE JOIN архитектурно невозможны.

Если посмотреть на реализацию MERGE, например, в MS SQL то можно заметить, что там сначала наборы объединяются с явным предпочтением MERGE JOIN по кластерному индексу целевой таблицы, а потом уже, по результатам FULL JOIN начинают отрабатывать WHEN MATCHED и WHEN NOT MATCHED.

Ригс, впрочем, сам признавал кривизну своего решения. Но аргументировал тем, что лучше его кривой вариант, который потом все равно потребуется рефакторить, чем вообще никакой. Так как я использую MERGE, в основном, в DW задачах, то для меня лично от реализации Ригса толку было бы очень мало. Возможно, кому то такой медленный MERGE и пригодился. Но шансы на его рефакторинг тогда стали бы явно ниже, чем на реализацию быстрого MERGE.
15 дек 20, 21:48    [22248552]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
Никанор Кузьмич
1) вставка и/или обновление одним запросом MERGE

Есть INSERT ... ON CONFLICT ... . Но до MERGE он явно не дотягивает.

Никанор Кузьмич
2) вставка в несколько таблиц, в том числе с условиями - INSERT ALL

А вот с этим намного лучше, благодаря конструкции RETURNING в INSERT. То есть, можно вставлять в несколько разных таблиц разные данные, но базирующиеся на результате вставки в предыдущую таблицу.
15 дек 20, 21:55    [22248556]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
Никанор Кузьмич
Swa111
массивов которые можно хранить в таблицах
...на случай, если программист не осилил нормальные формы...

Если когда-нибудь Вам доведется решать DW задачи, тогда осознаете пользу массивов. Обычный анализ нескольких миллионов временных серий (timeseries) ускоряется в разы при использовании массивов, благодаря радикальному сокращению размеров индексов и затрат на их модификацию. Ну и интерфейс с тем же R через массивы намного эффективней, чем через SPI.
Можно, конечно, хранить числовые вектора и матрицы в JSON, но эффективность такого решения точно будет под большим вопросом.
15 дек 20, 22:02    [22248561]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Никанор Кузьмич
Member

Откуда: Москва
Сообщений: 506
ptr128
Никанор Кузьмич
пропущено...
...на случай, если программист не осилил нормальные формы...

Если когда-нибудь Вам доведется решать DW задачи, тогда осознаете пользу массивов. Обычный анализ нескольких миллионов временных серий (timeseries) ускоряется в разы при использовании массивов, благодаря радикальному сокращению размеров индексов и затрат на их модификацию. Ну и интерфейс с тем же R через массивы намного эффективней, чем через SPI.
Можно, конечно, хранить числовые вектора и матрицы в JSON, но эффективность такого решения точно будет под большим вопросом.
Спасибо за пояснение. Хотя вряд ли я столкнусь, потому что работаю с Oracle и по большей части с OLTP.

ptr128
А вот с этим намного лучше, благодаря конструкции RETURNING в INSERT.
RETURNING и в Oracle есть
15 дек 20, 23:47    [22248601]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Олег73
Всем привет! Есть Oracle EE 11.2.0.3, опции label security, spatial and graph. В ближайшее время будет переход на 12.2. Бд в работе с начала 2000-х, соответственно объём наработок большой. Но сменилось руководство и возник вопрос почему Oracle? Почему не postgresql ибо поддержка Oracle обходится в десятки тыс долларов каждый год. Опыта в сопровождении postgresql нет. Стал изучать, сложилось такое впечатление что почти все что в oracle есть, реализовано и в postgresql и вроде даже автоматические средства миграции есть. Но доку читаю и все как-то не причесано что ли, все руками, автоматизации нет особо. Есть кто уже узучил такой вопрос? Поделитесь мудростью. Основные моменты по которым postgresql проигрывает? Безопасность? Оптимизатор? Архивирование и восстановление? Нашёл вот что пакетов в postgresql нет, а у нас в бд их туча. Статей много аля oracle VS postgresql но они все старые, годов 2015- 2017. Актуальных не нашёл, решил здесь попытать удачу.

Oracle реально быстрее работает с быстрым потоком UPDATES потому как не накапливает
изменения и не требует VACUUM. Сегмент отката реализован отдельно от данных таблицы.
Это позволяет по финалу транзакции его просто дропать.

Я не делал никаких бенчмарков но это моё субъективное мнение после того как я для своих
мелких проектов стал использовать PG.

У Oracle реально глубокое и тонкое управление планом исполнения запроса. Есть много регуляторов.

В PG их меньше.

У Oracle - очень мощное партицирование. Поддерживаются два измерения партишенинга List/Hash/Range... e.t.c. как матрица.
В PG только нормальный хеш-партишенинг появился недавно. Не та триггерах а на DDL таблицы.

Насчет пакетов PG я ничего не знаю. Еще не успел их использовать. Но в целом - возможности пакетов - какие-то
слабенькие.

Единственное пожалуй хорошее в PG - это нативная поддержка JSON и гео-типов данных. Но как вы их использовали
раньше - и как оно будет перенесено - это архи-большой вопрос.

Возможности бекапа - да. У Oracle - самые сильные. Exp, ExpDp, RMAN. По последнему - вообще целая библия написана.
Кроме того Oracle предлагает и свою кластерную ФС + менеджер томов и Real Application Cluster.

У PG я слышал только про какие-то самодельные поделки которые управляют репликациями master-slave да и то
они выглядят как отдельные продукты которые продают за деньги. Тоесть не чувствуется как-бы что они нативные.
18 дек 20, 01:23    [22250099]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2558
"При прочих равных" между PG и Ораклем, по свойствам и возможностям Оракль выигрывает с огромным счётом. Но это "при прочих равных" не реализуется, потому что
* Оракль очень дорогой
* Его преимущества в каком-то конкретном проекте могут быть не нужны.
К примеру, партишионирование у Оракля лучше, но вас в каком-то конкретном случае это не интересует.
Поэтому может иметь смысл пострадать, но всё-таки переехать на PG и денег Ораклю-компании не платить. А может и не иметь. Но без конкретики ничего решить нельзя. И, конечно, заранее все проблемы и подробности можно не понять. Возможно, только после долгой мучительной миграции и ввода в эксплуатацию будет понято, какая ужасная ошибка была допущена ;-).
Лично меня в PG беспокоят оптимизатор запросов (отсутствие хинтов, непроталкивание предикатов) и архитектура (работа через файловый кеш ОС).
12 янв 21, 12:17    [22261907]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Victor Metelitsa
Поэтому может иметь смысл пострадать, но всё-таки переехать на PG

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

Даже если мы раздумываем о новом проекте (то есть не рассматриваем стоимость и риски миграции), стоит вспомнить, что Оракл предоставляет лестницу редакций с соответствующей ценовой политикой. Вот сидит условный клерк с зарплатой $1200/мес, и вопрос выбора между Oracle и "бесплатным" сводится к выбору между "даём ему хороший инструмент за $75/год" и "даём ему не столь хороший инструмент, который, возможно, обойдётся дешевле, хотя хрен его знает". При этом мы понимаем, что когда дорастём до того, что действительно потребуются "развитые возможности партиционирования", мы сможем их просто докупить - пусть и выложив нехилую сумму - а не... сидеть и мигрировать всю систему на то, с чего следовало начинать.

По факту если не говорить про "импортозамещение" и прочие нерыночные моменты, я на сегодня вижу один вариант, когда стоит начинать коммерческий проект на "бесплатном" софте: когда есть обоснованная уверенность, что в "развившемся" состоянии он уляжется в довольно скромные требования к БД, которые этот "бесплатный" софт во-первых, в принципе вытянет, а во-вторых, будет тянуть без необходимости в постоянной дорогостоящей поддержке, которая в итоге обойдётся дороже того оракла.
12 янв 21, 12:43    [22261935]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
softwarer
если в одной столовой комплексный обед стоит 250 рублей, а в другой - 80 рублей, это обычно не потому, что владельцы первой охренели от жадности.

Некорректное сравнение. Правильно так. Cледует из того, что стоимость владения Kia Rio почти в два раза меньше, чем Skoda Rapid то, что вторая в два раза лучше первой?
Оутсорсная поддержка Open Source нередко обходится дешевле, чем поддержка закрытого программного продукта просто из-за рыночного ценообразования в первом случае и монопольного - во втором.

softwarer
даём ему хороший инструмент

Хороший, понятие относительное и субъективное и к выбору СУБД имеет очень слабое отношение. "Что русскому хорошо то немцу смерть" (с)
Вы, возможно очень удивитесь, но есть задачи, которые PostgreSQL решает лучше Oracle.

softwarer
уляжется в довольно скромные требования к БД

Я читал об успешном использовании PostgreSQL на IBM LinuxOne III с полутора сотнями ядер. Впрочем БД там была невелика - меньше петабайта. Для БД свыше петабайта лучше смотреть все же в сторону Citus.
Есть подозрение, что столь скромные требования устроят в 99.9% случаев.

Сообщение было отредактировано: 12 янв 21, 14:31
12 янв 21, 14:35    [22262026]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
ptr128
Некорректное сравнение.

Здесь следовало бы поставить двоеточие вместо точки.

ptr128
Cледует из того, что стоимость владения Kia Rio почти в два раза меньше, чем Skoda Rapid то, что вторая в два раза лучше первой?

Смотря что Вы называете "лучше". Цены личных автомобилей имеют ту или иную люксовую/имиджевую составляющую, соответственно, ответ "да", с пониманием того, что для покупателей люксовость входит в оценку "лучше". Цены СУБД такой наценки не имеют; скорее она характерна для ERP.

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

ptr128
Вы, возможно очень удивитесь, но есть задачи, которые PostgreSQL решает лучше Oracle.

Не удивлюсь. И если такие задачи останутся основой будущей системы - возможно, стоит выбрать Postgre. Тут уже стоит смотреть - какова вероятность того, что к одной задаче, которую Postgre решает лучше, со временем добавятся десять тех, которые она решает хуже, а Оракл тем временем начнёт лучше решать и исходную задачу.

ptr128
Я читал об успешном использовании PostgreSQL на IBM LinuxOne III с полутора сотнями ядер.

Здесь как бы вопрос, что именно понимать под успешным. То есть - сколько будет стоить ООО "Новые решения" внедрить у себя такой опыт и какое железо / какие затраты потребуются, чтобы забабахать столь же успешный продукт на другой СУБД.

Сообщение было отредактировано: 12 янв 21, 14:53
12 янв 21, 14:59    [22262046]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
ptr128

Я читал об успешном использовании PostgreSQL на IBM LinuxOne III с полутора сотнями ядер. Впрочем БД там была невелика - меньше петабайта. Для БД свыше петабайта лучше смотреть все же в сторону Citus.
Есть подозрение, что столь скромные требования устроят в 99.9% случаев.

LinuxOne это мейнфрейм, есть подозрение что это классический распил, т.к. полсотни ядер активированных на мейнфреме это миллионы зеленых. никакого смысла ставить дохлый постгрес на такую махину нет, oracle exadata на порядок дешевле и на два производительней и фичастее. да и в МФ в 21 веке нет никакого смысла.

ptr128

Хороший, понятие относительное и субъективное и к выбору СУБД имеет очень слабое отношение. "Что русскому хорошо то немцу смерть" (с)
Вы, возможно очень удивитесь, но есть задачи, которые PostgreSQL решает лучше Oracle.

и что же это за задачи ? в oltp постгрес со своим вакумом и мусором в датафайлах уже сильно проигрывает даже mysql. тот же убер хорошо расписал на сколько все плохо с мусором и индексами у постгрес под oltp нагрузкой. убер вынужден был мигрировать на mysql.
в аналитике те же яйца, нет ни кластера, ни полноценных партишенов, ни колончатых структур. те кто юзают постгрес в аналитике, юзают полностью переделанную вариацию grenplum, которая mpp и за деньги.
12 янв 21, 15:44    [22262066]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
H5N1
есть подозрение что это классический распил

А у меня подозрение в обратном. Разница знаете в чем? В том что Ваши подозрения диванного эксперта не обоснованы ничем. А мои обоснованы.

H5N1
и что же это за задачи ?

Я так понимаю, что если бы Вы действительно хотели это узнать, то воспользовались бы для этого гуглом. Поэтому не вижу смысла отвечать )))

H5N1
тот же убер хорошо расписал

Не стоит вытаскивать на божий свет историю пятилетней давности. Uber там тоже накосячил не мало, много копий тогда сломалось. Факт в том, что выводы из этого были сделаны еще в 9-ой версии PostgreSQL, а сейчас имеем 13-ую.
Успешных переходов было очень много. Просто никто при успехе холивар по всему интернету не устраиват.
12 янв 21, 16:31    [22262091]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
softwarer

ptr128
Cледует из того, что стоимость владения Kia Rio почти в два раза меньше, чем Skoda Rapid то, что вторая в два раза лучше первой?

Цены личных автомобилей имеют ту или иную люксовую/имиджевую составляющую

Я ведь специально выбрал два автомобиля одного класса и примерно одинаковой цены. И такая разница обусловленна исключительно ценовой политикой на запчасти и сервисное оборудование двух разных производителей. )))

softwarer
Оракл тем временем начнёт лучше решать и исходную задачу.

Вообще то, в равной степени можно утверждать и совершенно обратное. И оба утверждения будут ничем не обоснованы. Обе обсуждаемые СУБД активно развиваются.

softwarer

ptr128
Я читал об успешном использовании PostgreSQL на IBM LinuxOne III с полутора сотнями ядер.

Здесь как бы вопрос, что именно понимать под успешным. То есть - сколько будет стоить ООО "Новые решения" внедрить у себя такой опыт и какое железо / какие затраты потребуются, чтобы забабахать столь же успешный продукт на другой СУБД.

Я бы еще мог понять Ваш намек, если бы я явно указал, что это успешное использование было в РФ. Но так как в РФ я не знаю ни одного такого случая, а предлагает такую конфигурацию Fujitsu, то в то, что она ориентирована только на "забабахать" почему-то верится с трудом. )))
12 янв 21, 16:40    [22262093]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
ptr128
Я ведь специально выбрал два автомобиля одного класса и примерно одинаковой цены.

Я в этом мало разбираюсь, но они не кажутся мне представителями одного класса. Сидеть за рулём Рапида - отдельное удовольствие, это тонкая, чуткая и предсказуемая машина. Рио же - просто консервная банка, единственный плюс которой в том, что она таки способна добраться до места назначения.

ptr128
И такая разница обусловленна исключительно ценовой политикой на запчасти и сервисное оборудование двух разных производителей.

Значит, все покупают Рио и никто не покупает Рапиды. Либо же Ваша оценка всё-таки не совсем верна.

ptr128
softwarer
Оракл тем временем начнёт лучше решать и исходную задачу.

Вообще то, в равной степени можно утверждать и совершенно обратное. И оба утверждения будут ничем не обоснованы.

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

ptr128
Я бы еще мог понять Ваш намек, если бы

Здесь нет никаких намёков. Я просто и прямо иллюстрирую, что положительный результат какого-либо проекта не говорит ни о чём, кроме возможности его достичь. Чтобы оценить успешность, нужно сравнить цена/качество с аналогичным проектом на другой технологии. Postgre работал на этом железе? Отлично. Осталось узнать, во что это обошлось в смысле поддержки и проверить, что на Оракле аналогичный проект не летал бы на втрое более слабом железе.
12 янв 21, 17:22    [22262117]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
ptr128
H5N1
есть подозрение что это классический распил

А у меня подозрение в обратном. Разница знаете в чем? В том что Ваши подозрения диванного эксперта не обоснованы ничем. А мои обоснованы.

они обоснованны дремучестью и не пониманием, что это лишь тупая попытка индусов из ibm впарить дохлую и десятилетия никому не нужную платформу МФ хомячкам, далеким от ИТ.
эти наркоманы и хадуп продвигают на МФ, не понимая на сколько абсурдна сама идея кластера хадуп внутри монолитного МФ.

ptr128

Не стоит вытаскивать на божий свет историю пятилетней давности. Uber там тоже накосячил не мало, много копий тогда сломалось. Факт в том, что выводы из этого были сделаны еще в 9-ой версии PostgreSQL, а сейчас имеем 13-ую.
Успешных переходов было очень много. Просто никто при успехе холивар по всему интернету не устраиват.

Модератор: Редактировано

вот это факт, а вот в постгрес с 9й версии ничего не изменилось, из того на что указывал убер. в 13й версии тот же вакум, тот же мусор в датафайлах, апдейт на строку все также тригерит модификации индекса. ничего в архаичной архитектуре постгрес не изменилось.
араичная архитектура с вакумом никого не устраивает, потому enterprisedb уже много лет пилит новую архитектуру, с нормальную UNDO структурой по типу той что в оракле и mysql, которая позволит избавится от вакума и проблемы с индексами.
https://www.enterprisedb.com/blog/do-or-undo-there-no-postgresql-vacuum

Сообщение было отредактировано: 12 янв 21, 19:09
12 янв 21, 17:25    [22262119]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Модератор: Я прошу всех снизить градус напряжения в форуме. Здесь обсуждают СУБД а не людей.
12 янв 21, 17:31    [22262121]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
softwarer
Сидеть за рулём Рапида - отдельное удовольствие, это тонкая, чуткая и предсказуемая машина. Рио же - просто консервная банка, единственный плюс которой в том, что она таки способна добраться до места назначения.

Я уважаю Ваше право на субъективное мнение. Но от этого оно не перестает быть всего лишь Вашим IMHO. Я, например, считаю наоборот. Для меня 92-ой бензин, шестиступка и 123 лошади Kia важнее, чем Rapid с 95-ым, пятиступкой и 90 лошадями. Но я избежал субъективных оценок, сравнивая технические характеристики. А Вы - нет.

softwarer
Значит, все покупают Рио и никто не покупает Рапиды.

Не знаю, как в мире, но в РФ это очень близко к истине. Kia Rio успешно держится в TOP-3 который год, а Rapid и в TOP-20 не попадал ни разу.

softwarer
Вообще-то я этого и не утверждал. Отрезать от цитаты слова "надо смотреть вероятность того, что" и выдать остаток за безусловное утверждение - крайне некрасивый приём.

Да ладно )))
softwarer
Тут уже стоит смотреть - какова вероятность того, что к одной задаче, которую Postgre решает лучше, со временем добавятся десять тех, которые она решает хуже, а Оракл тем временем начнёт лучше решать и исходную задачу.

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


ptr128
положительный результат какого-либо проекта не говорит ни о чём, кроме возможности его достичь

Позвольте с Вами не согласиться. Никто не выбирает СУБД подбрасывая монетку. Поэтому положительный результат какого-либо проекта с СУБД говорит еще и о том, что критерии выбора СУБД оказались верными. Да, мы не знаем этих критериев. Но они наверняка были и что-то привело в данном случае к выбору PostgreSQL, а не Oracle. А опыт рынка, особенно в консервативной области мэйнфреймов, показывает, что такие решения обладают свойством повторяться.


ptr128
Осталось узнать, во что это обошлось в смысле поддержки и проверить, что на Оракле аналогичный проект не летал бы на втрое более слабом железе.

Или наоборот втрое медленней на более мощном железе. )))
Или я опять пропустил где-то слово "вероятность"? )))

Вы сами не замечаете свою предвзятость? А с предвзятостью можно только потешить свое ЧСВ, а вот доказать ничего невозможно )))
12 янв 21, 18:07    [22262140]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
ptr128
Я уважаю Ваше право на субъективное мнение. Но от этого оно не перестает быть всего лишь Вашим IMHO. Я, например, считаю наоборот. Для меня 92-ой бензин, шестиступка и 123 лошади Kia важнее, чем Rapid с 95-ым, пятиступкой и 90 лошадями. Но я избежал субъективных оценок, сравнивая технические характеристики. А Вы - нет.

И всё Ваше блестящее выступление прямо-таки подчёркивает, насколько объективно Вы отнесли их к одному классу О чём, собственно, и речь.

ptr128
Не знаю, как в мире, но в РФ это очень близко к истине. Kia Rio успешно держится в TOP-3 который год, а Rapid и в TOP-20 не попадал ни разу.

Bentley, наверное, в TOP-3 тоже не частый гость. Вслепую предположу, что если Kia Rio успешно держится в TOP-3, то её одноклассниками являются другие постоянные участники TOP-3.

ptr128
А оценивать вероятность обратного, что при выборе Oracle появятся задачи, которые он решает хуже, а PostgreSQL к тому времени станет решать исходную задачу лучше - как бы не надо

Для того, кто не прогуливал занятия по ТВ, это очевидно на глаз. Если продукт А превосходит продукт Б в отдельных задачах (и уступает в остальных), то вероятность того, что хотя бы пять из десяти следующих задач окажутся из списка "отдельных" - сравнима с вероятностью того, что бородатое лицо с неба скажет "Привет, ребятки, я действительно существую".

ptr128
Никто не выбирает СУБД подбрасывая монетку. Поэтому положительный результат какого-либо проекта с СУБД говорит еще и о том, что критерии выбора СУБД оказались верными.

Если результат действительно положительный, а не объявлен таковым. Действительная же положительность проверяется как раз сравнением с конкурирующими вариантами.

ptr128
Или наоборот втрое медленней на более мощном железе. )))

Может быть и так, конечно. Правда, традиционные результаты PG в TPC тестах делают этот вариант маловероятным.

ptr128
Или я опять пропустил где-то слово "вероятность"? )))

Нет, слова "вероятность" Вы здесь не пропустили. Здесь Вы пропустили то, что идёт верификация Вашего утверждения про успешность определённого проекта на Postgre. Если бы я отстаивал успешность какого-либо проекта на Oracle, мне точно так же пришлось бы доказать, что результат не достигнут вкидыванием несоразмерных денег в железо, и что при другом выборе СУБД меньшие траты не привели бы к лучшему результату.
12 янв 21, 19:11    [22262176]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
softwarer
Вы отнесли их к одному классу

Я??? Они официально относятся к одному классу. Для класса автомобилей такие различия не считаются существенными. У многих марок одна модель в разных комплектациях может иметь больший разброс по трансмиссии и двигателям.
Более того, Вы же сами сказали, что лично Вам Rapid нравится больше! Фактически, признав то, что они одноклассники.

softwarer
Bentley, наверное, в TOP-3 тоже не частый гость

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

softwarer

ptr128
А оценивать вероятность обратного, что при выборе Oracle появятся задачи, которые он решает хуже, а PostgreSQL к тому времени станет решать исходную задачу лучше - как бы не надо

Для того, кто не прогуливал занятия по ТВ, это очевидно на глаз. Если продукт А превосходит продукт Б в отдельных задачах (и уступает в остальных), то вероятность того, что хотя бы пять из десяти следующих задач окажутся из списка "отдельных" - сравнима с вероятностью того, что бородатое лицо с неба скажет "Привет, ребятки, я действительно существую".

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

В истории IT то, что описано Вами, происходило уже тысячи раз. Именно так. Если продукт А в чем-то превосходит продукт Б, то удержать это превосходство продукту А намного сложнее, чем продукту Б его компенсировать. И сколько продуктов так сдали позиции на рынке - несчесть.
OS/2 была выпущенна раньше Windows 95 и превосходила ее почти по всем параметрам. Где она, а где Windows?
Netscape с отрывом лидировал на рынке браузеров, а теперь не многие могут о нем вспомнить.
Nokia с отрывом доминировала на рынке мобильных телефонов и смартфонов, слив свои позиции буквально за год-два.
3dfx была первопроходцем и основоположником рынка трехмерной графики. Многие ли ее сейчас помнят?

softwarer
Правда, традиционные результаты PG в TPC тестах делают этот вариант маловероятным.

А при чем тут "традиционные"?
1. Задача хранить миллиард векторов длиной от тысячи до сотни тысяч наблюдений. Они не изменяются, но постоянно добавляются новые. Эти вектора используются для анализа где-то (пусть в Hadoop). Причем не все сразу, а выборочно, по ряду индекированных аналитик. Oracle или PostgreSQL справится с этим эффективней? Если вспомнить, что в Oracle массивов нет, а в PostgreSQL - есть.

2. Задача выполнять в запросе миллионы относительно коротких функций на R. Oracle или PostgreSQL справится с этим эффективней? Если вспомнить, что R выполняется в среде PostgreSQL, как встроенный язык со временем обращения меньше 1 мс, а Oracle вынужден через IPC коммуницировать с отдельным сервисом?

softwarer
Если бы я отстаивал успешность какого-либо проекта на Oracle, мне точно так же пришлось бы доказать, что результат не достигнут вкидыванием несоразмерных денег в железо, и что при другом выборе СУБД меньшие траты не привели бы к лучшему результату.

Вы обещаете, что если я найду на форуме хотя бы одно Ваше заявление об успешности проекта на Oracle и потребую предоставить результат сравнения на подобном железе с другой СУБД этого же проекта, Вы это сделаете? )))
Если Вы хоть немного принимали бы участие в подобных проектах, то хорошо знали бы, что подобное сравнение увеличит бюджет проекта раза в полтора и ни один заказчик под такими затратами не подпишется.
Сравнение произодится на этапе прототипирования, на существенно более слабом железе, обходится не дешево и его результаты если кто-то и согласится предоставить, то только при соответствующей компенсации.
12 янв 21, 20:23    [22262208]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Может быть выбор СУБД это как жену выбрать И не ты выбираешь а тебя выбирают.

Ну ладно. А по сабжу.

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

Еще бывает такой поинт. Заказчик "настоятельно рекомендовал". А к его мнению обычно чутко прислушиваются.
Кивают.

Вот такие вот пироги.
12 янв 21, 21:26    [22262220]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
mayton
Может быть выбор СУБД это как жену выбрать И не ты выбираешь а тебя выбирают.

не в этом дело. чуваку сложно что-то учить, он прочел книжку про постгрес и теперь абсолютно все задачи решает одним инструментом, какой смог постичь. даже задачи ML лапух собирает из говна и палок внутри того единственного инструмента, что осилил.
вот тот топик https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1316840&msg=22259835
он теперь с этим бегает по всем разделам формуа.

просто прикиньте, он запихал ML в постгрес, но процесс R однопоточный и соответственно пипец как медленный. тогда лапух делает просто гениальный ход - делает многопоточность R через dblink. я представляю выражение лица у взрослых, когда увидят чё этот слепил.

возвращаясь к постгрес, я смотрю они архитектуру с UNDO называют zHeap и даже приладили как превью postgres 13
https://www.slideshare.net/EnterpriseDB/the-future-of-zheap

слайд 6 потрясает, без zHeap pgbench после 90 минут раздул датафайлы в три раза. три Карл.

Сообщение было отредактировано: 12 янв 21, 21:54
12 янв 21, 21:59    [22262242]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 888
mayton,

разработчик к выбору СУБД, обычно, имеет мало отношения. В лучшем случае, его попросят произвести прототипирование и предоставить значение определенных метрик по его результатам. Решение все равно принимается менеджментом заказчика.

Просто меня прикалывает наблюдать за любителями "золотого молотка". Понятно, что есть более универсальные инструменты и менее универсальные. Но тот же Oracle не смущаясь использует в своей архитектуре OpenSource. Потому что этот OpenSource уже умеет решать какие-то задачи, которые Oracle не умеет решать или решает хуже.
По мне, так лучше больше разных СУБД, чем один монопольный суперуниверсальный монстр на все случаи жизни. )

Если что, тестовая сборка PostgreSQL c Zheap уже доступна для ознакомления. Так что есть шансы, что после выпуска 14-ой версии история с Uber окончательно канет в лету. Остальные пункты уже закрыты pg_logical, btree deduplication и т.п.
12 янв 21, 22:07    [22262247]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Ну FireBird же.
13 янв 21, 12:28    [22262561]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
mayton

В PG только нормальный хеш-партишенинг появился недавно. Не та триггерах а на DDL таблицы.

пошел посмотреть, в доке 5.11.3.1. Example все таже дребедень с check constraints и тригерами
13 янв 21, 12:49    [22262571]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
H5N1
mayton

В PG только нормальный хеш-партишенинг появился недавно. Не та триггерах а на DDL таблицы.

пошел посмотреть, в доке 5.11.3.1. Example все таже дребедень с check constraints и тригерами

Я какраз сидел на десятке. И бегал пинал девопсов чтобы пондяли нам все енвы до 11-тки.
Для них это капец какая сложная задача была. Написали себе план на 5 лет.
13 янв 21, 14:24    [22262649]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
ъъъъъ
Ну FireBird же.

Жареная птица? А что в ней?

Партишенинг есть?
13 янв 21, 15:34    [22262730]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
ъъъъъ
Ну FireBird же.

Жареная птица? А что в ней?

Партишенинг есть?

А он тебе нужен?
13 янв 21, 16:15    [22262772]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
ъъъъъ
mayton
пропущено...

Жареная птица? А что в ней?

Партишенинг есть?

А он тебе нужен?

Ты-же тему топика читаешь? Об этом как раз речь идет. О фичах которые есть в Оракле.
13 янв 21, 16:17    [22262773]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
ъъъъъ
пропущено...

А он тебе нужен?

Ты-же тему топика читаешь? Об этом как раз речь идет. О фичах которые есть в Оракле.

Ушел от ответа. То есть, тебе - не нужен?
13 янв 21, 16:42    [22262788]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Ы2
Member

Откуда:
Сообщений: 214
H5N1
пошел посмотреть, в доке 5.11.3.1. Example все таже дребедень с check constraints и тригерами

Это не тот пример (как делать по-старому). Правильный тут: 5.11.2. Declarative Partitioning, крутить до 5.11.2.1. Example.
14 янв 21, 15:49    [22263355]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
ъъъъъ
mayton
пропущено...

Ты-же тему топика читаешь? Об этом как раз речь идет. О фичах которые есть в Оракле.

Ушел от ответа. То есть, тебе - не нужен?

Мне партишенинг нужен всегда в первую очередь.
14 янв 21, 16:50    [22263392]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 515
Ы2
H5N1
пошел посмотреть, в доке 5.11.3.1. Example все таже дребедень с check constraints и тригерами

Это не тот пример (как делать по-старому). Правильный тут: 5.11.2. Declarative Partitioning, крутить до 5.11.2.1. Example.

я верно поянял, по новому insert в measurement из примера без тригера поймет в которую партицию писать нужно ?
14 янв 21, 17:14    [22263410]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Ы2
Member

Откуда:
Сообщений: 214
H5N1, да. Там же при создании партиций указывается, куда его класть.
14 янв 21, 18:44    [22263465]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
Все форумы / Сравнение СУБД Ответить