Postgres实用程序,显示给定查询将获取哪些锁。
pg-explain-locks的Python项目详细描述
PostgreSQL查询锁解释程序
显示给定查询将获取哪些锁的实用程序。在
查询已执行但未提交。在
安装说明
pip install pg_explain_locks
示例用法
针对dvdrental sample database显示的示例
^{pr2}$pg_explain_locks \ --user DB_USER \ --password DB_PASSWORD \ --database DATABASE \ --host HOST \ --query "SELECT * FROM film_actor fa JOIN actor a on a.actor_id=fa.actor_id FOR UPDATE" +-------------+---------------------+-----------------+ | Relation ID | Relation Name | Lock Type | +-------------+---------------------+-----------------+ | 16422 | actor | RowShareLock | | 16448 | film_actor | RowShareLock | | 16557 | actor_pkey | AccessShareLock | | 16569 | film_actor_pkey | AccessShareLock | | 16588 | idx_actor_last_name | AccessShareLock | | 16593 | idx_fk_film_id | AccessShareLock | +-------------+---------------------+-----------------+
pg_explain_locks \ --user DB_USER \ --password DB_PASSWORD \ --database DATABASE \ --host HOST \ --query "ALTER TABLE customer ADD COLUMN deleted BOOLEAN" +-------------+---------------+---------------------+ | Relation ID | Relation Name | Lock Type | +-------------+---------------+---------------------+ | 16411 | customer | AccessExclusiveLock | +-------------+---------------+---------------------+
设置文件的示例用法
在~/.pg_explain_locks_settings
处创建一个设置文件,以便每次使用相同的数据库设置。在
设置文件内容:
USER=your_user PASSWORD=your_password DATABASE=your_database HOST=your_host PORT=your_post
用法:
pg_explain_locks "ALTER TABLE customer ADD COLUMN deleted BOOLEAN" +-------------+---------------+---------------------+ | Relation ID | Relation Name | Lock Type | +-------------+---------------+---------------------+ | 16411 | customer | AccessExclusiveLock | +-------------+---------------+---------------------+
- 项目
标签: