簡體   English   中英

PostgreSQL 9.3中的特權查詢

[英]privileged queries in PostgreSQL 9.3

DB(PostgreSQL 9.3)中有2個用戶。 1)X用戶執行大量SELECT / INSERT查詢。 2)Y用戶進行需要“ACCESS EXCLUSIVE”鎖定的查詢。

有沒有辦法讓Y用戶獲得特權,因此來自Y用戶的查詢將1)停止X用戶的查詢。 2)完成Y用戶的查詢3)重啟X用戶的查詢

不,沒有。 PostgreSQL當前不支持在鎖定請求中中止沖突的事務,盡管它是一個很好的。 可以定期查詢任務pg_stat_activitypg_locks查找等待AccessExclusiveLockpg_terminate_backend查詢任何沖突工作者的查詢,但它有點沉重。

PostgreSQL也不能重新運行中止的查詢,應用程序有望自行完成。 考慮到查詢可能是事務中的第四個; Pg重新運行事務中的最后一個查詢是完全錯誤的。 它必須中止整個交易。 並且它不知道重新運行它是否正確。 所以應用程序必須處理這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM