STV_LOCKS - Amazon Redshift

STV_LOCKS

使用 STV_LOCKS 表可以查看数据库中各个表的所有当前更新。

Amazon Redshift 锁定表以防止两个用户同时更新同一个表。STV_LOCKS 表显示所有当前表更新,而查询 STL_TR_CONFLICT 表则可查看锁定冲突的日志。使用 SVV_TRANSACTIONS 视图可标识未结事务和锁定争用问题。

STV_LOCKS 仅对超级用户可见。有关更多信息,请参阅 系统表和视图中的数据可见性

表列

列名称 数据类型 描述
table_id bigint 获取锁定的表的表 ID。
last_commit timestamp 表中上次提交的时间戳。
last_update timestamp 表上次更新的时间戳。
lock_owner bigint 与锁定关联的事务 ID。
lock_owner_pid bigint 与锁定关联的进程 ID。
lock_owner_start_ts timestamp 事务开始时间的时间戳。
lock_owner_end_ts timestamp 事务结束时间的时间戳。
lock_status character (22) 进程状态(等待锁或持有锁)。

示例查询

要查看当前事务中发生的所有锁定,请键入以下命令:

select table_id, last_update, lock_owner, lock_owner_pid from stv_locks;

此查询返回以下示例输出,其中显示三个当前生效的锁定:

table_id | last_update | lock_owner | lock_owner_pid ----------+----------------------------+------------+---------------- 100004 | 2008-12-23 10:08:48.882319 | 1043 | 5656 100003 | 2008-12-23 10:08:48.779543 | 1043 | 5656 100140 | 2008-12-23 10:08:48.021576 | 1043 | 5656 (3 rows)