我正在使用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