USERENV('SESSIONID')和USERENV('SID)之间的区别?

时间:2020-05-18 04:49:29

标签: oracle postgresql

我试图了解Oracle中SID和Sessionid有什么区别。它们如何生成这些代码,它代表进程ID还是Oracle内部的东西? PostgreSQL中有什么等效的东西吗?

SQL> select userenv(‘SID’) from dual;

USERENV('SID')
--------------
           258

SQL> select userenv('SESSIONID') from dual;

USERENV('SESSIONID')
--------------------
          4294967295

SQL>

1 个答案:

答案 0 :(得分:0)

我没有找到有关SESSIONID用法和角色的任何详细的Oracle文档(该文档仅显示“审核会话标识符”,仅此而已)。 PostgreSQL中没有这样的东西。

SID是应与SERIAL#一起使用的常规会话标识符(请参见V $ SESSION),但不同于V $ PROCESS.PID。

在PostgreSQL中,没有会话标识符,只有后端进程标识符(pg_stat_activity.pid)。