Скажем, я открываю новую npgsqlconnection
и создаю новую временную таблицу temp1
, а затем открываю другое новое соединение. Насколько я понимаю, временная таблица доступна только для сеанса, который ее открыл, и два открытых соединения не должны совместно использовать один и тот же сеанс. Здесь строки подключения идентичны, и я попытался отключить пул, но это ничего не изменило. Псевдокод:
var conn1 = new NpgsqlConnection(MyConnectionString)
var conn2 = new NpgsqlConnection(MyConnectionString)
conn1.Open()
conn2.Open()
conn1.Execute("CREATE TEMP TABLE temp1(idx int)")
Если я выполню запрос SELECT COUNT(*) FROM pg_tables WHERE tablename = 'temp1'
для обоих соединений, этот запрос вернет 1. Почему conn2
сможет получить доступ к временной таблице, созданной в conn1
? Есть ли способ предотвратить это?