Обновить
14
Timur Khafizov@khafizovtim

Пользователь

2
Подписчики
Отправить сообщение

Отличная статья. Действительно странно, что checkpointer должен еще и wal'ы переключать. И странно, что он не мог взять WALWriteLock в LW_SHARED. Хотя может быть процесс заливки данных непрерывно писал WAL удерживая WALWriteLock в LW_EXCLUSIVE.

Я ориентировался на конфигурацию PostgreSQL с минимумом расширений при наличии привилегированного доступ к ОС (я нахожусь на стороне провайдера DBaAS).
Расширения так или иначе влияют на производительность (и не только); для ожиданий сэмплирования может быть недостаточно.
А использование проб для PostgreSQL вполне удобно на мой взгляд.

Конечно же можно использовать explain(analyze, buffers). Но иногда хочется узнать кроме сколько еще и какие буферы прочитаны.
Также с помощью проб можно получить информацию с backend'а работающего приложения, а не из explain'а в своей сессии.
До 17-ой версии была одна функция было легче)

Иногда хочется получить трейс ожиданий, напоминающий 10046-ой оракловый трейс (возможно это моя профдеформация), и тут ничего другого, как watchpoint на my_wait_event_info я не придумал.

Спасибо за комментарий, расширения посмотрю.

Сам pl/sql блок был протестирован и отлично работал, одноименная с пакетом таблица появилась в БД в результате ошибки при выполнении специфической задачи.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Администратор баз данных
Oracle
Oracle DBA
Linux
PostgreSQL