powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / пичаль
18 сообщений из 18, страница 1 из 1
пичаль
    #39232152
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот господа гуру, почему, хотя ddl транзакционен, изменение функции не поддерживает уровней изоляции ?
т.е. в pg_proc я читаю согласно уровню, а исполняется то, что закоммичено, даже если в вызывающей рипитбл или сериалайзебл. (т.е., на поверку, галимый read commited)

на выбор:
1. конь не валялся (по недомыслию)
2. неумный компромисс (10-к -- другой процентов быстродействия)
3. тяжелый компромисс -- иначе потери производительности в разы или порядки
4. больной неоперабелен (архитектурно иное просто невозможно)
5. иное

т.е. имеет ли смысл совсем держать поцгресс за оно, наряду с ара--калом, или оно ещё может исправиться ?

PS этот косяк обнаружил исследуя другой косяк/фичу -- то же + препаред стейтмент с ф--ей в транзакции.
...
Рейтинг: 0 / 0
пичаль
    #39232322
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

А какая версия ПЖ?

В 9.4 сделали версионным каталог, но мне кажется, что работа эта осталась незаконченной. По крайней мере так сказал разработчик, мол — SnapshotNow заменил на версионный каталог, но надо ещё "доработать" все объекты.

Я с функциями ловил ещё такой косяк: в одной из "нижних" функций создавалсь (или пересоздавалсь) таблица, а потом "верхние" функции не видели этих изменений ("верхние" вызывают "нижние"). С тех пор зарёкся мешать DDL в бизнес логику.
...
Рейтинг: 0 / 0
пичаль
    #39232329
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

кажется на всех. тестировал конкретно на поцгресс-пре поцледней, под вендой. что для тестов не принципиально.

изначально была задача поймать, что при юзании jdbc при изменении ф--ии не даёт измениться результатцу сразу -- там таки да -- в план препареда (который jdbc готовит в тёмную от разработчика) новое тело почему--то попадает со второго раза , если этот препаред в транзакции не закрытой.

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

как ушатом окатило.
т.е. ушатало
...
Рейтинг: 0 / 0
пичаль
    #39232629
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqа вот господа гуру, почему, хотя ddl транзакционен, изменение функции не поддерживает уровней изоляции ?
т.е. в pg_proc я читаю согласно уровню, а исполняется то, что закоммичено, даже если в вызывающей рипитбл или сериалайзебл. (т.е., на поверку, галимый read commited)

на выбор:
1. конь не валялся (по недомыслию)
2. неумный компромисс (10-к -- другой процентов быстродействия)
3. тяжелый компромисс -- иначе потери производительности в разы или порядки
4. больной неоперабелен (архитектурно иное просто невозможно)
5. иное

т.е. имеет ли смысл совсем держать поцгресс за оно, наряду с ара--калом, или оно ещё может исправиться ?

PS этот косяк обнаружил исследуя другой косяк/фичу -- то же + препаред стейтмент с ф--ей в транзакции.

скорее 4 в текущей реализации механизма инвалидации уже загруженных функций.
и скорее всего 3 при попытке сделать как то по другому.

PS: функции все таки не данные и поэтому вопрос уровней изоляции для DDL - он не то чтобы бессмысленный но мин там много.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
пичаль
    #39232665
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukPS: функции все таки не данные и поэтому вопрос уровней изоляции для DDL - он не то чтобы бессмысленный но мин там много.
более, чем спорное утверждение.

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

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

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

пс. там "фич" как грязи -- если например альтерить иммутабную ф-ю в момент работы кого то с ней -- то у кого--то, хотя тапки его -- будет ай-яй-яй. уже подкоп под транзакционность. и не слабый. "и вот всё у них так" -- как при дропе индекса в 7--ке всё падало -- так только рюшечки пришили поверх -- а внутри труха "из овна и палок"
...
Рейтинг: 0 / 0
пичаль
    #39233059
PCContra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqMaxim BogukPS: функции все таки не данные и поэтому вопрос уровней изоляции для DDL - он не то чтобы бессмысленный но мин там много.
более, чем спорное утверждение.

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

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

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

пс. там "фич" как грязи -- если например альтерить иммутабную ф-ю в момент работы кого то с ней -- то у кого--то, хотя тапки его -- будет ай-яй-яй. уже подкоп под транзакционность. и не слабый. "и вот всё у них так" -- как при дропе индекса в 7--ке всё падало -- так только рюшечки пришили поверх -- а внутри труха "из овна и палок"
Будете переходить на оракл? )))
...
Рейтинг: 0 / 0
пичаль
    #39233087
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PCContraqwwqпропущено...а внутри труха "из овна и палок"
Будете переходить на оракл? )))
в ара-кале "индусы" (преимущественно по имени "том") давно всё из авна и палок слепили
истинно великий там только ларри -- продавать индусский помёт за очень зелёные бабки -- это гений, не иначе
попутно дебилов, типа <<умолчим>>, набирая в свидетели великого и ужасного, ара

1С--ом на старости лет осталось заняться -- авно такое же , но кормят и лучше и спрос стабильнее.
...
Рейтинг: 0 / 0
пичаль
    #39233862
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новая функция -- суть новая версия апи к "базе". выходим на согласование апи с клиентом, а там нет "изоляций": клиент решает (вот как это сделать покрасивше -- тут есть варианты) к какой версии апи идти.

если так смотреть, то начальная постановка снимается.

это, кстати, выход на проблему деплоя кода в базу.
...
Рейтинг: 0 / 0
пичаль
    #39233939
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurin,

как бы помяхше-то...

"ваше мнение очень не важно для нас"

кактотаг

имеем -- что имеем -- студентики миши--камнедробилки реализовали что--то тяп-ляп, в свои, доисторические, -- так с тех пор эти авгиевы конюшни никто и не разгрёб. и не разгребёт.
...
Рейтинг: 0 / 0
пичаль
    #39233966
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqPCContraпропущено...

Будете переходить на оракл? )))
в ара-кале "индусы" (преимущественно по имени "том") давно всё из авна и палок слепили
истинно великий там только ларри -- продавать индусский помёт за очень зелёные бабки -- это гений, не иначе
попутно дебилов, типа <<умолчим>>, набирая в свидетели великого и ужасного, ара

1С--ом на старости лет осталось заняться -- авно такое же , но кормят и лучше и спрос стабильнее.

Нет в жизни совершенства ;). За неимением гербовой бумаги приходится писать на простой со всеми связанными недостатками.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
пичаль
    #39234045
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukпропущено...
Нет в жизни совершенства ;) щасья
не то слово.

пж, в отличь от ара--кала, хоть внешне на скл--машинку был похож, без всяких этих надуманных ограничений .
типа с протаскиванием алиаса на глубину.
ну и без суррогатных убожеств типа роунамбера. и прочей рыбы.
но внутри -- всё как у людей.
такой же бардак.
тьху на них.
...
Рейтинг: 0 / 0
пичаль
    #39388534
2107tsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,

PREPARE и EXECUTE для чего придумали?
...
Рейтинг: 0 / 0
пичаль
    #39388561
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2107tsmqwwq,

PREPARE и EXECUTE для чего придумали?

увы, qwwq не сможет ответить
...
Рейтинг: 0 / 0
пичаль
    #39390054
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За пару лет использования Postgresql и функций на plpgsql пришел к выводу, что нужно просто часть логики выносить из функции на уровень клиента, т.е. например если нам нужно выполнять ddl, а потом использовать эти объекты для dml, то выполнять все на plpgsql не стоит, а лучше написать две функции: первая для ddl, вторая для остальных действий. Из клиента, пусть это будет, например, python с psycopg2 запускаем первую функцию, она завершается и мы уверены, что ddl выполнился и закоммичен, а затем уже запускаем вторую функцию.
После перехода на postgresql долго мучали "оракловые" привычки по поводу автономных транзакций и непривычного "транзакционного" ddl. Если в Oracle можно было всё сделать на pl/sql,в котором все ddl-операции атомарны, то к сожалению или к счастью часть работы теперь нужно выносить на уроверь выше.
...
Рейтинг: 0 / 0
пичаль
    #39390615
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2107tsmqwwq,

PREPARE и EXECUTE для чего придумали?
я весь -- внимание
...
Рейтинг: 0 / 0
пичаль
    #39390623
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. добавлю ссылок:

из закрытого топика 19678899 :
PgSQLanonymous3Не удержался, проверил. Да, всё так и есть, как ты говоришь.
И вообще, похоже на то, что "общепринятое" значение "термина"
transactional DDL --- не ACID, а только AD. ;(



2. 2 antonov.impulsm : не могу навскидку повторить ваш результат с пробоем dml (т.е. чтением артефакта) сразу после пробоя ddl в repeatable read -е. или это был неверно поставленный тест ? (там помнится ещё забавные гистерезисы с чтением из системных возникали)
...
Рейтинг: 0 / 0
пичаль
    #39396152
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq<>

2. 2 antonov.impulsm : не могу навскидку повторить ваш результат с пробоем dml (т.е. чтением артефакта) сразу после пробоя ddl в repeatable read -е. или это был неверно поставленный тест ? (там помнится ещё забавные гистерезисы с чтением из системных возникали)

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

т.е. совсем криминала (по дмл) нет, есть проблема с тем, что если вы из транзакции привыкли читать системные по интересующему вас объекту, то сам объект может быть доступен (выборка или вставка в него), а вот чтение системных вам его не покажет. Т.е. нужен "коммитед" доступ к системным, из "рипитебл" или "сериалайзебл" транзакции -- чтобы системные соответствовали тому, что вы видите как доступные объекты БД.
с функциями всё ещё интересней -- там надо долго теоретизировать, нельзя ли через них пробой и в данные пропихнуть
...
Рейтинг: 0 / 0
пичаль
    #39428994
antonov.impulsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / пичаль
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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