PostgreSQL 8.3.6: DISCARD ALL звільняє дорадчі блокування

1 хв читання

2 лютого 2009 року вийшов PostgreSQL 8.3.6, у якому команда DISCARD ALL тепер додатково звільняє дорадчі блокування (advisory locks).

У версії 8.3.6, випущеній 2 лютого 2009 року, розробники розширили функціональність команди DISCARD ALL. Раніше ця команда скидала більшість параметрів сесії, але залишала дорадчі блокування активними. Після цього оновлення команда також примусово звільняє всі дорадчі блокування, встановлені в поточній сесії, забезпечуючи повне повернення до початкового стану.

Рекомендації:

  • Перевірте скрипти очищення сесій, які використовують DISCARD ALL, щоб переконатися, що автоматичне звільнення блокувань не перериває критичні процеси.
  • Якщо ваша архітектура вимагає збереження певних блокувань після скидання сесії, перегляньте логіку керування транзакціями.
  • Проведіть тестування: встановіть дорадче блокування, виконайте DISCARD ALL і перевірте стан блокувань через системні представлення, щоб підтвердити їх звільнення.

Уникнення взаємних блокувань через оновлення DISCARD ALL

Коректне керування станом сесій та блокуваннями в базах даних є запорукою безперебійної роботи високонавантажених систем. Використання оновлених механізмів очищення сесій допомагає уникнути взаємних блокувань, які можуть призвести до простою бізнес-застосунків та втрати даних.

Практичний крок: Перегляньте ваші скрипти керування транзакціями та сесіями на предмет коректності очищення ресурсів. Зверніться до Softline для проведення аудиту баз даних PostgreSQL та оптимізації запитів, щоб гарантувати стабільність та надійність ваших систем.

Використані джерела

  1. postgresql.org (postgresql.org)