Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 是否有离线postgres代理工具/库?_Postgresql_Proxy_Offline - Fatal编程技术网

Postgresql 是否有离线postgres代理工具/库?

Postgresql 是否有离线postgres代理工具/库?,postgresql,proxy,offline,Postgresql,Proxy,Offline,我正在寻找一种类似PL/Proxy的工具,但当数据库离线时,它可以通过将查询排队等待以后执行来工作。。它仅用于一些非常简单的插入和更新(并且可以通过存储过程调用轻松处理),因此客户端应用程序自然不需要实时知道响应 应重试暂时性故障(如数据库离线),并记录永久性故障 客户端应用程序是用perl编写的,但是真正的代理服务器不应该关心这一点 我准备写我自己的,但是如果有人已经发明了这个轮子,我想节省一些时间。这在很大程度上取决于你的需要。您可能可以按照kgrittn的建议使用连接池。但我不相信,因为听

我正在寻找一种类似PL/Proxy的工具,但当数据库离线时,它可以通过将查询排队等待以后执行来工作。。它仅用于一些非常简单的插入和更新(并且可以通过存储过程调用轻松处理),因此客户端应用程序自然不需要实时知道响应

应重试暂时性故障(如数据库离线),并记录永久性故障

客户端应用程序是用perl编写的,但是真正的代理服务器不应该关心这一点


我准备写我自己的,但是如果有人已经发明了这个轮子,我想节省一些时间。

这在很大程度上取决于你的需要。您可能可以按照kgrittn的建议使用连接池。但我不相信,因为听起来你需要一些异步的东西。我想你可能需要写一本。尽管如此,我认为大多数组件都是现成的。我认为您可能需要一些“最后一英里”代码,但仅此而已

我将用三个基本组件来构建此功能:

  • 消息队列。你可以用各种各样的东西来做这个。你可以用电子邮件,叽叽喳喳,拉比特。。。。你挑吧。我猜RabbitMQ或类似的东西是最简单的

  • 一个小程序,可以监听队列,获取消息,并在数据库上运行查询。数据库不可用将被视为临时错误。无法运行它们的程序将被视为永久性错误

  • 您可能需要一个库来接口和抽象消息队列(这样您的应用程序就不必知道它正在向消息队列发送内容)


  • 如果其中一个现成的连接池可以配置为执行您想要的操作,我不会感到惊讶。您可能想看看pgpool、pgbouncer和Apache的DBCP。