我使用postgres 13并使用use_remote_estimate: on和fetch_size: 10000创建了一个外部服务器。tableA这里是created_date的一个分区表。如果记录数在3M左右,但对超过3M的记录抛出错误,则查询运行良好。
select
date_trunc('month', created_date)::date as month,
count(distinct category_id) as categorys,
count(distinct user_id) as workers
from
我想了解您的想法,我如何通过能够在多个服务器上运行我的服务进程来实现水平扩展。它是一个用C#编写的Windows服务,它的实际用途是订阅我们公司的Exchange Web service (EWS),这样每当有新的电子邮件传入时,它就会得到通知(通过HTTP回调)。然后,该服务获取电子邮件消息,对其进行处理,如果可能,发送回复,然后返回睡眠状态并等待下一封传入的电子邮件。
如果我在多台机器上运行它,我可以让所有机器都订阅EWS通知,也可以只让其中一台机器订阅。如果我让所有人都订阅,我会有点犹豫,因为这可能会给我们的MS Exchange基础结构增加负担。此外,这将导致所有机器接收和处理电子邮件
在一台新的专用服务器上运行了几个小时之后,我的“我的机器服务器”将失去与数据库的连接,并抛出以下错误:"org.postgresql.util.PSQLException:此连接已关闭。“
重新启动MC服务器后,将再次恢复正常,但问题将在几个小时后继续。我的猜测是,随着时间的推移,它正在失去联系。目前,专用主机和数据库所在主机之间的ping在0.3至0.5ms之间。
在从配置中设置值之后,我使用PGSimpleDataSource创建连接实例。
PGSimpleDataSource ds = new PGSimpleDataSource();
// Set the values her