Last active
July 9, 2020 09:08
-
-
Save jjasont/d81a6691b8e32d340a1a5f0f36442fc3 to your computer and use it in GitHub Desktop.
Detect and Release Redshift Lock. Reference: https://aws.amazon.com/premiumsupport/knowledge-center/prevent-locks-blocking-queries-redshift/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Detect Lock | |
| select a.txn_owner, a.txn_db, a.xid, a.pid, a.txn_start, a.lock_mode, a.relation as table_id,nvl(trim(c."name"),d.relname) as tablename, a.granted,b.pid as blocking_pid ,datediff(s,a.txn_start,getdate())/86400||' days '||datediff(s,a.txn_start,getdate())%86400/3600||' hrs '||datediff(s,a.txn_start,getdate())%3600/60||' mins '||datediff(s,a.txn_start,getdate())%60||' secs' as txn_duration | |
| from svv_transactions a | |
| left join (select pid,relation,granted from pg_locks group by 1,2,3) b | |
| on a.relation=b.relation and a.granted='f' and b.granted='t' | |
| left join (select * from stv_tbl_perm where slice=0) c | |
| on a.relation=c.id | |
| left join pg_class d on a.relation=d.oid | |
| where a.relation is not null AND a.txn_owner='<db_username>'; | |
| # Release Lock | |
| select pg_terminate_backend(PID); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment