I am using PostgreSQL 9.6.1 on Amazon Web Services RDS
How can I remove the locks below? I was expecting a PID to remove, but they are empty in this example.
business_data=> CREATE OR REPLACE VIEW public.active_locks AS
business_data-> SELECT t.schemaname,
business_data-> t.relname,
business_data-> l.locktype,
business_data-> l.page,
business_data-> l.virtualtransaction,
business_data-> l.pid,
business_data-> l.mode,
business_data-> l.granted
business_data-> FROM pg_locks l
business_data-> JOIN pg_stat_all_tables t ON l.relation = t.relid
business_data-> WHERE t.schemaname <> 'pg_toast'::name AND t.schemaname <> 'pg_catalog'::name
business_data-> ORDER BY t.schemaname, t.relname;
CREATE VIEW
business_data=> SELECT * FROM active_locks;
schemaname | relname | locktype | page | virtualtransaction | pid | mode | granted
------------+--------------------------------------+----------+------+--------------------+-----+-----------------+---------
public | passengercar | relation | | -1/226452 | | AccessShareLock | t
public | passengercarcover | relation | | -1/226452 | | AccessShareLock | t
public | passengercarcoveria | relation | | -1/226452 | | AccessShareLock | t
public | passengercardriver | relation | | -1/226452 | | AccessShareLock | t
public | passengercarinsuredamount | relation | | -1/226452 | | AccessShareLock | t
public | passengercarmore | relation | | -1/226452 | | AccessShareLock | t
public | passengercaror | relation | | -1/226452 | | AccessShareLock | t
public | passengercarpassengercar | relation | | -1/226452 | | AccessShareLock | t
public | passengercarrequest | relation | | -1/226452 | | AccessShareLock | t
public | passengercarrequest_requestedcovers | relation | | -1/226452 | | AccessShareLock | t
public | passengercarresponse | relation | | -1/226452 | | AccessShareLock | t
public | passengercarresponse_requestedcovers | relation | | -1/226452 | | AccessShareLock | t
public | passengercarresponseia | relation | | -1/226452 | | AccessShareLock | t
public | passengercarresponseor | relation | | -1/226452 | | AccessShareLock | t
(14 rows)
Info from pg_stat_activity
business_data=> select datname,pid,usename,wait_event,wait_event_type,query from pg_stat_activity;
datname | pid | usename | wait_event | wait_event_type | query
---------------+-------+--------------+------------+-----------------+------------------------------------------------------------------------------------
rdsadmin | 1804 | rdsadmin | | | <insufficient privilege>
business_data | 5384 | bd_admin | | | SELECT 1
bonita | 5650 | bonita_admin | | | SHOW TRANSACTION ISOLATION LEVEL
business_data | 5385 | bd_admin | | | SELECT 1
business_data | 19304 | bd_admin | | | SELECT COUNT(*) FROM (SELECT * FROM "public".passengercarresponse) C2668
bonita | 5497 | bonita_admin | | | SHOW TRANSACTION ISOLATION LEVEL
business_data | 5386 | bd_admin | | | SELECT 1
business_data | 5387 | bd_admin | | | SELECT 1
bonita | 5498 | bonita_admin | | | COMMIT
bonita | 5543 | bonita_admin | | | SHOW TRANSACTION ISOLATION LEVEL
business_data | 5495 | ia_admin | | | select datname,pid,usename,wait_event,wait_event_type,query from pg_stat_activity;
db_l7_umg | 26442 | umg_admin | | | SELECT COUNT(*) FROM (SELECT * FROM dbo.abz) C2668
bonita | 25981 | bonita_admin | | | SELECT gid FROM pg_prepared_xacts
business_data | 25982 | bd_admin | | | SELECT gid FROM pg_prepared_xacts
business_data | 26619 | ia_admin | | | select datname,pid,usename,query from pg_stat_activity where waiting ;
(15 rows)
try identifying who exactly blocks you with this statement:
blocking_pid
is pid you want to terminateYou can check if your statement is blocked by smbd with shorter qry:
Update: for 9.6 column waiting was replaced with wait_event and wait_event_type, so the query will be