
postgresql_锁
文章平均质量分 76
rudy_gao
这个作者很懒,什么都没留下…
展开
-
修改表结构DDL语句与锁
--当pg开启一个事务,执行dml操作时,如果另一个事务要修改表结构,其不得不等待 --session1 中执行dml postgres=# begin; BEGIN postgres=# select pg_backend_pid(); pg_backend_pid ---------------- 4144 (1 row) postgres=原创 2015-10-22 11:55:25 · 2779 阅读 · 0 评论 -
postgresql 查看系统中的锁信息与锁资源
--查看当前活动的客户端连接数 SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid(); --查询客户端连接的情况 SELECT pid,case when waiting='f' then 'already get lock,sql executing' when waiting='t' th原创 2015-10-22 15:18:46 · 8528 阅读 · 0 评论 -
PostgreSQL逻辑备份,锁,长时间导出数据与备份
PostgreSQL逻辑备份, 指通过pg_dump或者直接调用COPY进行的备份方法. 一般来说, PostgreSQL 使用pg_dump备份数据库时, 会 1. 开启一个repeatable read事务, 2. 然后需要从系统表以及传入的参数, 生成备份集, 3. 备份开始前, 需要一次性把需要备份的所有对象都加上access share lock, 这个锁与D转载 2015-10-27 16:31:11 · 2585 阅读 · 0 评论 -
通过函数定位DML锁等待
--创建函数,注意此函数只能定位由于dml操作所引起的锁等待,对于ddl引起的锁等待,此sql无法完全定位 CREATE OR REPLACE FUNCTION report_lock(refcursor, refcursor) RETURNS SETOF refcursor AS $BODY$ declare v_activity_count integer; v_cur_relation原创 2016-03-25 15:08:35 · 645 阅读 · 0 评论