繁体   English   中英

Npgsql与PostgreSQL:使用UNCOMMITTED READ看不到未提交的更改

[英]Npgsql with PostgreSQL: Can't see uncommitted changes with UNCOMMITTED READ

我在PostgreSQL中使用Npsql。 我想查看另一笔交易中未提交的更改。

这是我创建连接和事务的方式:

// create connection
m_Connection = new NpgsqlConnection(connectionString);
m_Connection.Open();

//create transaction
m_Transaction = m_Connection.BeginTransaction(IsolationLevel.ReadUncommitted);

在一个线程中,我像这样插入一行:

 NpgsqlCommand command = CreateCommand("INSERT INTO TABLEA  ....", parameters, commandTimeout)
 command.ExecuteNonQuery();

并处理其他事务而无需提交或回滚事务。

在另一个线程中,我这样读取一行:

 NpgsqlCommand command = CreateCommand("SELECT COUNT(*) FROM TABLEA", parameters, commandTimeout);
 command.ExecuteScalar();

但是以某种方式我看不到第一个INSERT的结果。 我也没有在pgAdmin中看到插入的结果(即使在运行SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED之后)。

我究竟做错了什么? 任何帮助将不胜感激。

PostgreSQL不支持未提交的读取。

您将永远无法看到来自其他未提交事务的更改。

暂无
暂无

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

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