Size: a a a

pgsql – PostgreSQL

2021 July 02

SM

Serj Marin in pgsql – PostgreSQL
Господа, как правильно дебажить триггеры ?
допустим добавил в функцию RAISE NOTICE'b_id = % ...
а где вывод смотреть ?
источник

ch

central hardware in pgsql – PostgreSQL
в логе postres-а ЕМНИП
источник

SM

Serj Marin in pgsql – PostgreSQL
а где он ?
, ни разу не пользовался

пользуюсь navicat и больше ничего
источник

ch

central hardware in pgsql – PostgreSQL
как запускаете базу?
источник

ch

central hardware in pgsql – PostgreSQL
то есть? вы видимо понимаете под амазоном какой то его сервис, а у него уже под капотом находится какая либо БД
источник

SM

Serj Marin in pgsql – PostgreSQL
через navicat пишу, но в Message ведь нет вывода из триггера.
он фоново срабатывает, узнаю только если будет какая-то ошибка
источник

SM

Serj Marin in pgsql – PostgreSQL
что-то не так делаю
поставил в postgresql.conf
#log_statement = 'all'  
и сделал
pg_reload_conf()
в логах по пути c:\Program Files\PostgreSQL\13\data\log\
RAISE NOTICE' не появляются
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
коммент перед параметром уберите )
источник

SM

Serj Marin in pgsql – PostgreSQL
ага, теперь вываливается, но не сообщения RAISE NOTICE...
блин как их увидеть в триггерах ?
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
источник

SM

Serj Marin in pgsql – PostgreSQL
спасибо  ... появилось
неудобно конечно, в navicat бы сразу смотреть, но лучше так, чем вообще никак
источник

ch

central hardware in pgsql – PostgreSQL
postgres вероятнее всего умеет писать в журнал виндовый, а для него уже скорее всего есть удообные просмотрщики
источник

SM

Serj Marin in pgsql – PostgreSQL
да мне только триггер отладить, а не вслепую тыкать. Рядом, в sublime смотрю лог
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Стало интересно. Сильно вряд ли наша задача прямо такая вся уникальная, если отбросить особенности реализации, в общем виде клиент-серверного исполнения коннекшен имеет все шансы быть один на X юзеров, при этом юзеры имеют все шансы быть в разных часовых поясах. Те же задачи поиска и бронирования записей в календарях (авиабилеты, как очень грубый пример). То есть, в лучшем случае все можно свести к обработке массовых запросов с timestanptz between boundary_ts_bottom and bounday_ts_top плюс поправки на приведение к таймзонам. И кажется, что в этом месте реляционные СУБД "из коробки" в принципе - решение не самое удачное по производительности. Как люди с этим живут, любопытно?
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
Отличная мысль. И базовые операторы переопределить (=, <, >, BETWEEN), на клиенте или на сервере, чтобы что-то такое подставляли.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
В основном — выкручиваем ся, чтобы на сервер приходили ужэ разобранные функцыи, только прямые аналоги field < const, field > const.

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

AT

Andrey Tatarnikov in pgsql – PostgreSQL
То есть с клиента приходит уже, в данном случае, готовый timestamptz для простого сравнения, а дальше обычный индекс помогает? Да, так можно жить :)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
> если отбросить особенности реализации

А давайте не отбрасывать. Как говорится, удаление гланд — не "прямо такая вся уникальная задача", но у тех, кто их удаляет автогеном, почему-то появляются какие-то проблемы. Понимаете, к чему я веду? ;)

> коннекшен имеет все шансы быть один на X юзеров

Да, так бывает.
Только, тем не менее, почти всегда есть чёткое разделение в отношении того, какой именно user с ним сейчас работает (а иначе как-то много с чем нормально работать не получается — хоть с настоящими правами доступа, например). Т.е. когда соединение начинает "представлять" пользователя X, в норме и происходит какая-то реинициализация — и вот её частью и является SET timezone = .

> решение не самое удачное по производительности.

Не вижу, как это "вывод" следует из предыдущего?!

> Как люди с этим живут, любопытно?

Люди не удаляют гланды автогеном, и живут нормально, представляете? ;)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Зачем?! Зачем Вы это делаете? Я вон пример показывал, как это делается адекватно, в чём с ним проблема-то?!
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
См. ответ выше.
источник