获取在 PostgreSQL 中打开的游标的会话 ID
Get session id of opened cursor in PostgreSQL
在Oracel V$OPEN_CURSOR
中包含一个sid 字段,但是在Postgres 中pg_cursors
table 与其他系统目录没有联系。是否可以在 PostgreSQL 中获取此类信息?如果我清楚地理解,PostgreSQL 中没有会话 ID,通常使用后端 pid。我有一个 table 的列表,其中有打开的游标,但它帮不了我,因为 pg_tables
和 pg_stat_activity
.
之间没有联系
在 PostgreSQL 中,游标仅存在于当前数据库连接中并用于当前数据库连接。所以可以使用游标的会话总是只有打开它的会话。您可以在视图pg_cursors
中看到当前会话所有打开的游标。由于此信息未存储在共享内存中,因此无法查看不同数据库连接的游标。
在Oracel V$OPEN_CURSOR
中包含一个sid 字段,但是在Postgres 中pg_cursors
table 与其他系统目录没有联系。是否可以在 PostgreSQL 中获取此类信息?如果我清楚地理解,PostgreSQL 中没有会话 ID,通常使用后端 pid。我有一个 table 的列表,其中有打开的游标,但它帮不了我,因为 pg_tables
和 pg_stat_activity
.
在 PostgreSQL 中,游标仅存在于当前数据库连接中并用于当前数据库连接。所以可以使用游标的会话总是只有打开它的会话。您可以在视图pg_cursors
中看到当前会话所有打开的游标。由于此信息未存储在共享内存中,因此无法查看不同数据库连接的游标。