Size: a a a

pgsql – PostgreSQL

2021 June 21

R

Rashka in pgsql – PostgreSQL
Разобрался, спс
источник

R

Radist in pgsql – PostgreSQL
Если это процедура/функция, то при create or replace не должны, по идее, но лучше проверить. В остальных случаях (без or replace) точно слетят. Исключение - гранты выданные автоматом за счёт default privileges.
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
ну формально, гранты выданные за счёт default privileges тоже слетят..
просто высока вероятность что аналогичные будут выданы еще раз

небольшая, но разница )
источник

R

Radist in pgsql – PostgreSQL
Ну вероятность тут не причём, тут всё детерминированно, в остальном согласен. Но, поскольку это будет в одной транзакции, никто разницы не заметит.
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
вероятность, как раз потому что гранты выданные по default privileges на момент первоначального создания таблицы, могут отличаться от текущих default privileges
и в итоге можно ( но в большинстве случаев такого все же не происходит) "неожиданно" получить другой набор прав
источник

КБ

Кирилл Боровиков... in pgsql – PostgreSQL
Коллеги, добрый день!
Если уже пользовались нашим анализатором планов, расскажите свои впечатления и замечания - учтем:
https://explain.tensor.ru/
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
Добрый день, возможно ли для этой процедуры создать триггер?
источник

D

Denis in pgsql – PostgreSQL
Добрый день.
Уточните пожалуйста что вы имеете ввиду под созданием триггера для процедуры?
Возможно вы хотите повешать триггер на таблицу inventory, чтобы что-то отслеживать.
Но если у вас изменения только через эту процедуру проходят, я бы расширил ее бизнес логику, когда вся логика в одном месте - ее проще отлаживать и разбираться в том как что работает.
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
after insert on receipt (таблица) я бы хотел сделать call на эту процедуру
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
или если есть тут Spring-разработчики посоветуйте как правильно вызывать процедуру с помощью jdbcTemplate
источник

D

Denis in pgsql – PostgreSQL
ну вам надо будет написать триггерную функцию обертку, в которую положить нужную вам бизнес логику - https://postgrespro.ru/docs/postgrespro/11/plpgsql-trigger
источник

D

Denis in pgsql – PostgreSQL
Но вообще триггеры - не очень хорошая тема, они маскируют поведение в базе данных и бывает сложно разобраться в бизнес логике, в которой используются триггеры.
Если есть возможность написать бизнес логику в одном месте, где это будет читабельно - лучше сделать это без триггеров - код будет проще поддерживать.
По спрингу не могу подсказать к сожалению.
источник

ВП

Василий Пучков... in pgsql – PostgreSQL
Есть альтернативный вариант для таких случаев. Можно всю логику положить в процедуру, сделать представление с триггером instead of insert и оттуда вызывать процедуру.
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
вот примерная вещь, которую я хотел сделать. Но здесь передаются постоянные параметры 100 и 'blue', а я хотел бы передать сюда параметры новых строк каждый раз при вызове
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
источник

KT

Kirill T in pgsql – PostgreSQL
Есть спец переменная, где хранятся эти данные. Кажется NEW называется
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
не работает)
источник

KT

Kirill T in pgsql – PostgreSQL
аа. У вас триггер. Я про триггерую функцию говорил. В ней будет. т. е. внутри audit_proc
источник

KT

Kirill T in pgsql – PostgreSQL
Можете показать как именно не работает? Какая ошибка?
источник

SJ

Shaxobbek Jurayev in pgsql – PostgreSQL
внутри триггерной функции у меня переменные, которые нужно передать через сам триггер
источник