PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да освободя възможни заключвания на редове на Postgres?

Възможно е да се видят ключалките.

Ето изглед, който да го направи малко по-лесен, отколкото да използвате директно pg_locks:

CREATE OR REPLACE VIEW public.active_locks AS 
 SELECT t.schemaname,
    t.relname,
    l.locktype,
    l.page,
    l.virtualtransaction,
    l.pid,
    l.mode,
    l.granted
   FROM pg_locks l
   JOIN pg_stat_all_tables t ON l.relation = t.relid
  WHERE t.schemaname <> 'pg_toast'::name AND t.schemaname <> 'pg_catalog'::name
  ORDER BY t.schemaname, t.relname;

След това просто изберете от изгледа:

SELECT * FROM active_locks;

И го убийте с:

SELECT pg_cancel_backend('%pid%');

Други решения:http://wiki.postgresql.org/wiki/Lock_Monitoring



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Персонализирани надстройки, базирани на тригери за PostgreSQL

  2. Внедряване на Django + Python 3 + PostgreSQL към AWS Elastic Beanstalk

  3. Има ли удар в производителността при използване на десетични типове данни (MySQL / Postgres)

  4. Как да покажа номера на редове в заявка на PostgreSQL?

  5. В Postgresql, принудително уникално при комбинация от две колони