我们有一个由Postgres支持的应用程序,该应用程序已短暂锁定。Postgres日志显示了针对pg_database
以下内容的一系列AccessExclusiveLock条目:
[13-1] sql_error_code = 00000 LOG: process 7045 still waiting for AccessExclusiveLock on object 0 of class 1262 of database 0 after 1000.123 ms
[6-1] sql_error_code = 00000 LOG: process 7132 still waiting for AccessExclusiveLock on object 0 of class 1262 of database 0 after 1000.118 ms
[6-1] sql_error_code = 00000 LOG: process 8824 still waiting for AccessExclusiveLock on object 0 of class 1262 of database 0 after 1000.133 ms
[14-1] sql_error_code = 00000 LOG: process 7045 acquired AccessExclusiveLock on object 0 of class 1262 of database 0 after 39265.319 ms
[7-1] sql_error_code = 00000 LOG: process 7132 acquired AccessExclusiveLock on object 0 of class 1262 of database 0 after 12824.407 ms
[7-1] sql_error_code = 00000 LOG: process 8824 acquired AccessExclusiveLock on object 0 of class 1262 of database 0 after 6362.509 ms
Run Code Online (Sandbox Code Playgroud)
1262这里指的是pg_database
:
=> select 1262::regclass;
+-------------+
| regclass |
+-------------+
| pg_database |
+-------------+
Run Code Online (Sandbox Code Playgroud)
我们在Heroku上运行Postgres 9.6.5。
据我了解,AEL将用于“繁重”操作,例如DROP TABLE,TRUNCATE,REINDEX [1] ...我们的运行时操作由许多存储过程组成,每个存储过程都在多个存储过程中进行插入/更新/删除表(删除很少见)。在运行时,我们不会执行上面和链接的文档中列出的任何操作,并且目前没有(由我们执行)发行版/维护。
我还没有找到任何文档来举例说明在上述“正常操作”期间何时可以使用此锁定。我的问题是:
[1]:Postgres文档-显式锁定
归档时间: |
|
查看次数: |
352 次 |
最近记录: |