Что такое PostgreSQL, эквивалентный CONTEXT_INFO SQL Servfer?


person Hao    schedule 30.03.2009    source источник
comment
Пожалуйста, помните, что не все знают MSSQL, поэтому говорить о том, что эквивалентно XXX, не очень хорошо сформулированный вопрос - объясните, что такое CONTEXT_INFO и для чего он используется. Затем - кто-то с навыками Pg может проверить, как получить заданную функциональность.   -  person    schedule 30.03.2009


Ответы (2)


http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks_II#Any_other_session_variables

PostgreSQL предоставляет больше вариантов, пожалуйста, посмотрите на этот сайт.

person Milen A. Radev    schedule 30.03.2009
comment
Ответы только по ссылкам плохие. Что, если этот сайт отключится? - person melpomene; 24.06.2019

Принятый ответ устарел.

В последних версиях postgresql (начиная с 9.3 или 9.4, я думаю) можно установить/получить переменные конфигурации, которые активны только для текущего сеанса [или транзакции]. Справочник по документации

пример установки переменной session:

hal=# select set_config('myvar.foo', 'bar', false);
 set_config 
------------
 bar
(1 row)

hal=# select current_setting('myvar.foo');
 current_setting 
-----------------
 bar
(1 row)

Функцию current_setting можно использовать так же, как и другие функции, возвращающие множество.

пример:

create table customers (id int);
insert into customers values (1), (2), (3), (4);

select c.*, s.*
from customers c
left join current_setting('myvar.foo') s
       on c.id = length(s)
person Haleemur Ali    schedule 15.05.2020