Skip to content

Commit bc40f15

Browse files
Add info on lack of transaction scope support
1 parent 905cd6b commit bc40f15

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

transports/postgresql/transactions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ The PostgreSQL transport supports the following [transport transaction modes](/t
1212
* Transport transaction - receive only
1313
* Unreliable (transactions disabled)
1414

15-
`TransactionScope` mode is particularly useful as it enables `exactly once` message processing with distributed transactions. However, when transport, persistence, and business data are all stored in a single PostgreSQL catalog, it is possible to achieve `exactly-once` message delivery without distributed transactions.
15+
`TransactionScope` mode is not supported because the implementation of `TransactionScope` in [npgsql](https://www.npgsql.org/index.html) (ADO.NET driver for PostgreSQL) is not reliable and may lead to logical message loss (an update to a database that is prepared and persisted but not actually applied to the data tables).
1616

1717
> [!NOTE]
18-
> `Exactly once` message processing without distributed transactions can be achieved with any transport using the [Outbox](/nservicebus/outbox/) feature. It requires business and persistence data to share the storage mechanism but does not put any requirements on transport data storage.
18+
> `Exactly once` message processing without distributed transactions can be achieved with any transport using the [Outbox](/nservicebus/outbox/) feature. It requires business and persistence data to share the storage mechanism but does not put any requirements on transport data storage. In addition to that, PostgreSQL transport supports the `exactly once` processing mode when using **SendsAtomicWithReceive** transaction mode [in conjunction with SQL Persistence](/persistence/sql/postgresql-combining-persistence-with-transport.md).
1919
2020

2121
### Native transactions

0 commit comments

Comments
 (0)