доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Gt_>угу, а потом они тебя выгнали и наняли человека который не станет вот так просто писать, а сначала подумает стоит ли так писать, ведь мсскл по дефолту блокировочник, интербейз версионник.
Gt_>Gt_
насчет интербейза не знаю не помню. в мсскл зачем блокировать, если можно не блокировать? че за бред?
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Я про хранимки в постгресе знаю только то, что они существуют. 21 век на дворе, не нужно использовать их без очень веских причин.
Здравствуйте, nikkit, Вы писали:
Gt_>>ты наверно очень красивая. не забивай головку базовыми вещами типа версионность, блокировочники. продолжай писать ни о чем не думая, о разнице в подходах подумают те кто на порядок больше твоего получают. Gt_>>Gt_ N>что ты понимаешь под блокировочниками?
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам.
Прикалываешься? Ко всему, что выше на русском https://www.postgrespro.ru/docs
Здравствуйте, microuser, Вы писали:
_>>[cut=Это — фундаментальные вещи! (c)] _>>MS SQL: Locking in the Database Engine
M>По этой же ссылке написано что есть режим с версионированием, при чем он появился аж в 2008 году, это 15 лет назад, а все про блокировки говорят, на пенсию батенька пора
Хамите парниша (c)
Ну если ты смог прочитать и даже что-то понять(?) по указанной ссылке, это уже хорошо, не зря запостил.
Расскажи, если не трудно, что ты понял про "режим с версионированием" и связь этого "режима" с чтением данных и напр. с операциями insert/update.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных.
https://www.postgresql.org/docs/ не благодари
N>инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Ничего не понял, что ты тут написал. Но на всякий случай посоветую писать бизнес-логику на go, а не на sql.
Gt_>ты наверно очень красивая. не забивай головку базовыми вещами типа версионность, блокировочники. продолжай писать ни о чем не думая, о разнице в подходах подумают те кто на порядок больше твоего получают.
Gt_>Gt_
Gt_>>был бы лишь жаргон незнакомый, мы бы не потешались над твоей красотой. потешаемся то от того, что ты "просто взял и начал писать" (тм) не подозревая о фундаментальных отличиях.
_>Годами писал хранимки на mssql и oracle. Про эти "фундаментальные отличия" слышал. Но эти знания никак не помогли мне на практике. И 90 процентов программистов, кто не работает с высоконагруженными системами, я думаю не натыкались на случаи где это реально важно.
даже и не знаю, что ответить, учитывая что "фундаментальные отличия" легко ловятся уже на двух транзакциях.
разве что спасибо что вы такие есть, без вас было бы сложно из работодателя выбить красивую зарплату.
N>помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
угу, а потом они тебя выгнали и наняли человека который не станет вот так просто писать, а сначала подумает стоит ли так писать, ведь мсскл по дефолту блокировочник, интербейз версионник.
N>насчет интербейза не знаю не помню. в мсскл зачем блокировать, если можно не блокировать? че за бред?
ты наверно очень красивая. не забивай головку базовыми вещами типа версионность, блокировочники. продолжай писать ни о чем не думая, о разнице в подходах подумают те кто на порядок больше твоего получают.
Здравствуйте, nikkit, Вы писали:
N>синтаксис, план запроса нечитабельный. это главные претензии.
Не, к ораклу может быть много претензий, но синтаксис? план запроса?
Gt_>был бы лишь жаргон незнакомый, мы бы не потешались над твоей красотой. потешаемся то от того, что ты "просто взял и начал писать" (тм) не подозревая о фундаментальных отличиях.
Годами писал хранимки на mssql и oracle. Про эти "фундаментальные отличия" слышал. Но эти знания никак не помогли мне на практике. И 90 процентов программистов, кто не работает с высоконагруженными системами, я думаю не натыкались на случаи где это реально важно.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
_>Годами писал хранимки на mssql и oracle. Про эти "фундаментальные отличия" слышал. Но эти знания никак не помогли мне на практике. И 90 процентов программистов, кто не работает с высоконагруженными системами, я думаю не натыкались на случаи где это реально важно.
Неужели ни разу не доводилось в mssql делать в хранимках т.н. upsert (update or insert) без уровня изоляции serializable?
ps: без принудительных локов-хинтов работать будет только если повезёт
_>Неужели ни разу не доводилось в mssql делать в хранимках т.н. upsert (update or insert) без уровня изоляции serializable?
_>ps: без принудительных локов-хинтов работать будет только если повезёт
99 процентов работы это 10 этажные селекты. Остальное insert. И очень очень редко update.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, pilgrim_, Вы писали: _>Здравствуйте, nikkit, Вы писали:
Gt_>>>ты наверно очень красивая. не забивай головку базовыми вещами типа версионность, блокировочники. продолжай писать ни о чем не думая, о разнице в подходах подумают те кто на порядок больше твоего получают. Gt_>>>Gt_ N>>что ты понимаешь под блокировочниками? _>
По этой же ссылке написано что есть режим с версионированием, при чем он появился аж в 2008 году, это 15 лет назад, а все про блокировки говорят, на пенсию батенька пора
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
Может нужно просто уметь его готовить? В чем проблема?
BE>Может нужно просто уметь его готовить? В чем проблема?
помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
DP>А вот тут более приближенно к практике с примерами и картинками https://www.postgresqltutorial.com. Эта же ссылка указана на оф. сайте.
еще прикол. 90% запросов ведут не на всякие стэкаверфлоу и т.п., а на оф сайт постгри. где нет по теме вообще ни хре на. черт бы побрал это импортозамещение.
Здравствуйте, nikkit, Вы писали:
N>еще прикол. 90% запросов ведут не на всякие стэкаверфлоу и т.п., а на оф сайт постгри. где нет по теме вообще ни хре на. черт бы побрал это импортозамещение.
да мне пофиг. на русском, на английском... это разумеется я нашел. только мне щас нужны скорее рецепты рабочие, а не теория. на которую в данный момент времени нет. в выходные и свободное время понятно буду изучать. но я блин на хелпдесках. т.е. надо родить решение, не зная особо языка грубо говоря. в случае транзакта — материала до жопы практически на любой случай жизни + я его достаточно хорошо знаю. тут же почти на любой запрос отсылает к официальному сайту видимо распространен не только лишь везде.
Здравствуйте, nikkit, Вы писали:
N>доков нет нормальных. инфа по крупицам. что язык построен на базе уроцкого в край оракле. отсюда крайне кривой синтаксис, который делает очень больно. и делается все через жопу. казалось бы простейшие вещи, которые на транзакте написал бы меньше чем за час, здесь порождает больше мата, чем полезной работы.
А кто заставляет так страдать? Ты это, мигни два раза, если в рабстве.
Здравствуйте, yenik, Вы писали:
Y>Воистину нужно. Вот на TSQL (код практической ценности не имеет, чисто для примера): Y>
Y>DECLARE @n AS INT = 1
Y>SELECT * FROM t1
Y>BEGIN TRAN
Y>INSERT t1 VALUES(@n)
Y>SELECT * FROM t1
Y>ROLLBACK
Y>
Y>Выводятся в SSMS два табличных результата. Как это сделать на postgresql?
Не работал с постгре, зато работал с ораклом.
Вопрос, видимо про "получить два табличных результата" в прикладном коде(?)
Если так, то в оракле доступ к результирующим рекордсетам происходит через именованные курсоры, которые в прикл.коде видны как аут-параметры процедур.
например. (во всяком случае я использовал такой способ н-времени назад).
да, и для оракла вот такой же удобной штуки, как SSMS, в моем понимании нет.
есть там всякие тоады, эскульдевелоперы и т.д., но все они гораздо неудобнее SSMS, и ваще весчи в себе, как и сам оракл)).
Здравствуйте, yenik, Вы писали:
BE>>Может нужно просто уметь его готовить? В чем проблема?
Y>Воистину нужно. Вот на TSQL (код практической ценности не имеет, чисто для примера): Y>
Y>DECLARE @n AS INT = 1
Y>SELECT * FROM t1
Y>BEGIN TRAN
Y>INSERT t1 VALUES(@n)
Y>SELECT * FROM t1
Y>ROLLBACK
Y>
Y>Выводятся в SSMS два табличных результата. Как это сделать на postgresql?
Сообщение 208, уровень 16, состояние 1, строка 2
Invalid object name 't1'.
Время выполнения: 2023-07-25T13:28:25.7570918+03:00
Здравствуйте, nikkit, Вы писали:
N>помнится, в бородатый год, после интербейза переходил на транзакт. просто взял и начал писать. все было в кайф. все логично, все понятно и предсказуемо. ровно так, как и должно быть. без лишних телодвижений.
Наверное проще использовать Linq2DB
и солнце б утром не вставало, когда бы не было меня
I>Не работал с постгре, зато работал с ораклом. I>Вопрос, видимо про "получить два табличных результата" в прикладном коде(?) I>Если так, то в оракле доступ к результирующим рекордсетам происходит через именованные курсоры, которые в прикл.коде видны как аут-параметры процедур. I>например. (во всяком случае я использовал такой способ н-времени назад).
I>п.с. похоже интернет говорит примерно тоже про постгре: I> https://stackoverflow.com/questions/32862416/how-can-i-get-cursor-data-with-calling-stored-procedure-in-npgsql
ага, я тоже в итоге курсоры использовал, чтобы результат из процедуры вернуть.
begin;
set TRANSACTION ISOLATION LEVEL serializable;
do language plpgsql
$$
DECLARE
_crsr1 refcursor = '__crsr1';
begin
INSERT INTO ....;
open _crsr1 for SELECT ....;
end;
$$;
fetch all from __crsr1;
commit;
_>>[cut=Это — фундаментальные вещи! (c)] N>скорее жаргон мне незнакомый
был бы лишь жаргон незнакомый, мы бы не потешались над твоей красотой. потешаемся то от того, что ты "просто взял и начал писать" (тм) не подозревая о фундаментальных отличиях.
Здравствуйте, nikkit, Вы писали:
N>синтаксис, план запроса нечитабельный. это главные претензии.
Да ладно! Синтаксис там обычный, паскалеподобный, и гораздо более стройный, чем в том же Транзакте. А план запроса нечитабельный — серьёзно? С чем ты его сравниваешь, интересно? Там же всё от и до расписано — как, что, куда и как. Я, конечно, не щупал планы запросов в том же масасикеле, мускуле или постгресе, но вот, например, в сравнении с планом запроса из Интербейза — просто небо и земля!
_>99 процентов работы это 10 этажные селекты. Остальное insert. И очень очень редко update.
так вот вы /цензоред/ о чем. сделал мне смешно. реально. вопрос на 100р теперь. почему об этом не приходилось думать обычно? хотя пользователей было до хрена. вот почему-то с курсором с забытым ноулок попадал не раз, с такой херней не доводилось ну если организовать все правильно, конечно, можно и яйцы себе отстрелить. только зачем непонятно.
Gt_>даже и не знаю, что ответить, учитывая что "фундаментальные отличия" легко ловятся уже на двух транзакциях. Gt_>разве что спасибо что вы такие есть, без вас было бы сложно из работодателя выбить красивую зарплату.
спасибо тебя сдали. годами — это похоже год-два максимум. продолжай дальше
J>Да ладно! Синтаксис там обычный, паскалеподобный, и гораздо более стройный, чем в том же Транзакте. А план запроса нечитабельный — серьёзно? С чем ты его сравниваешь, интересно? Там же всё от и до расписано — как, что, куда и как. Я, конечно, не щупал планы запросов в том же масасикеле, мускуле или постгресе, но вот, например, в сравнении с планом запроса из Интербейза — просто небо и земля!
да интербейз я можно сказать не трогал. не знаю что там особо. опыта в нем почти нет совсем. так что верю.
в плане запросов сравниваю то что оракл предоставляет со студией. ну как бы день и ночь. все визуально сразу видно где проблема. в отличие от. где надо сидеть и фтыкать
N>в плане запросов сравниваю то что оракл предоставляет со студией. ну как бы день и ночь. все визуально сразу видно где проблема. в отличие от. где надо сидеть и фтыкать
Посмотрел планы в студии. Так ты шо, тебе красивеньких картиночек со стрелочками в Оракле не хватает? А я-то думал...
Здравствуйте, pilgrim_, Вы писали:
_>Здравствуйте, microuser, Вы писали:
_>>>[cut=Это — фундаментальные вещи! (c)] _>>>MS SQL: Locking in the Database Engine
M>>По этой же ссылке написано что есть режим с версионированием, при чем он появился аж в 2008 году, это 15 лет назад, а все про блокировки говорят, на пенсию батенька пора
_>Хамите парниша (c) _>Ну если ты смог прочитать и даже что-то понять(?) по указанной ссылке, это уже хорошо, не зря запостил. _>Расскажи, если не трудно, что ты понял про "режим с версионированием" и связь этого "режима" с чтением данных и напр. с операциями insert/update.
Давай по очереди, ты тут заявил что одно лучше другого, ты и рассказывай чем оно лучше и почему у другого это нет, я не википедия
Здравствуйте, pilgrim_, Вы писали:
_>Здравствуйте, microuser, Вы писали:
_>>>[cut=Это — фундаментальные вещи! (c)] _>>>MS SQL: Locking in the Database Engine
M>>По этой же ссылке написано что есть режим с версионированием, при чем он появился аж в 2008 году, это 15 лет назад, а все про блокировки говорят, на пенсию батенька пора
_>Хамите парниша (c) _>Ну если ты смог прочитать и даже что-то понять(?) по указанной ссылке, это уже хорошо, не зря запостил. _>Расскажи, если не трудно, что ты понял про "режим с версионированием" и связь этого "режима" с чтением данных и напр. с операциями insert/update.