我正在使用postgresql數據庫爲使用某些數據庫會話參數的Qt應用程序。 我需要使用另一個應用程序連接到數據庫 - 可以是BIRT報告或PHP應用程序或其他 - 但使用與第一個Qt應用程序相同的會話。 這可能嗎?PostgreSQL從兩個不同的應用程序連接到相同的會話
1
A
回答
1
兩個連接到一個會話是不可能的。一個會話只能處理一個連接。有可能在事務之間共享快照。一些PostgreSQL應用程序使用此功能,如pg_dump
用於實現-j
選項。共享快照不是共享會話 - 對於更改的可見性存在一些限制,此功能實際上很少使用。
查看related doc或article關於此功能。
-- first session
BEGIN;
SELECT pg_export_snapshot(); -- returns 00000AAF-1
-- second session
BEGIN;
SET TRANSACTION SNAPSHOT '00000AAF-1';
接下來,兩個會話的初始可見內容都是相同的。 但是第一次會議沒有看到第二次會議的任何新活動,反之亦然。
1
不,不是。在PostgreSQL中,會話與服務器的連接嚴格相關,因此會話和連接實際上是一個同義詞。 當您通過任何通道(TCP,本地)連接到服務器時,postmaster進程會分叉創建會話的子進程,客戶機應用程序正在「交談」並運行事務。當你斷開子進程時終止並且會話結束。
也許告訴更多關於您的要求? Pavel Stehulepropose you an interesting feature。但它確實是一種先進的東西,可能不是你想要的東西。
+0
非常感謝。我認爲[Pavel Stehule](http://stackoverflow.com/users/406691/pavel-stehule)已經提出了很好的解決方案。 – user1909766
相關問題
- 1. 如何連接兩個用戶使用相同的會話?
- 2. 不同的應用程序共享相同的ASP.Net會話Cookie
- 3. 兩個Hibernate應用程序連接相同的數據庫
- 4. codeigniter會話銷燬兩個不同的應用程序
- 5. Cakephp 2.0:相同的應用程序,兩個選項卡,會話變量的兩個不同值?
- 6. iPhone - 兩個相同的應用程序
- 7. iTunes思考兩個不同的應用程序是相同的
- 8. 連接J2EE應用程序有兩個不同的數據庫
- 9. MongoDB:連接到不同副本的不同應用程序
- 10. 相同的部分在兩個相同的應用程序中表現不同
- 11. 同一個應用程序從兩個不同的IP的
- 12. 兩個會話Bean能否實現相同的遠程接口?
- 13. 水豚從兩個線程訪問相同的會話
- 14. 兩個應用程序加載相同的.NET程序集:相同的實例?
- 15. NitrousIo Mac應用程序不會連接/同步到框
- 16. 一個rails應用程序,兩個域,每個不同的會話
- 17. 以不同的數據連接兩個相同的表結構
- 18. 以不同的值在行上連接兩個相同的表
- 19. 兩個相同的應用程序如何通過互聯網連接彼此?
- 20. 使用HttpClient連接到不同線程中的相同URL
- 21. PostgreSQL的:CASE:從兩個不同的表
- 22. 當兩個相同的應用程序在同一個域上工作時,正確啓動會話的方式
- 23. PostgreSQL:使用相同的連接或從池中獲取另一個連接?
- 24. 多個應用程序,相同會話和更新角色
- 25. 內MYSQL連接兩個表相同的列名不同價
- 26. 從相同的應用程序生成兩個APK
- 27. 從兩個應用程序訪問相同的SQL Lite db
- 28. iOS兩個不同的應用程序彼此對話
- 29. 做兩個不同的會話得到兩個不同的JSP實例
- 30. SQL兩列相同的連接使用不同的值
非常感謝。這將是合適的。我只需要第二次會話僅用於報告目的,它不會影響數據。 – user1909766