繁体   English   中英

将 Oracle 中的 function SYS_CONTEXT 转换为 PostgreSQL

[英]Convert function SYS_CONTEXT in Oracle to PostgreSQL

我正在将 Oracle SQL 转换为 PostgreSQL。 我在 PostgreSQL 中找不到像 Oracle 这样的 function。 SYS_CONTEXT('USERENV', 'SESSIONID'); SYS_CONTEXT('USERENV', 'SESSION_USER'); SYS_CONTEXT('USERENV', 'OS_USER'); SYS_CONTEXT('USERENV', 'TERMINAL'); SYS_CONTEXT('USERENV', 'MODULE'); SYS_CONTEXT('USERENV', 'ACTION')

PostgreSQL 中没有完全相同的替代品。 你必须要有创造力。 在我看来,最好的等价物是:

  • 对于SESSIONID ,使用 function pg_backend_pid()返回的后端进程 ID

  • 对于SESSION_USER ,使用session_user function (没有括号!)

  • 对于MODULEACTION ,使用参数application_name

  • TERMINALOS_USER没有等效项:前者在 PostgreSQL 的上下文中没有意义,后者根本没有意义

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM