在连接字符串中添加语句超时不起作用

问题描述 投票:0回答:2

我想在连接字符串中添加语句超时。

我通过添加statement_timeout参数尝试了不同的选项:

r2dbc:postgresql://localhost:5432/schema?options=statement_timeout=1
r2dbc:postgresql://localhost:5432/schema?options=-c%20statement_timeout=1
r2dbc:postgresql://localhost:5432/schema?options=statement_timeout=1s
r2dbc:postgresql://localhost:5432/schema?options=-c%20statement_timeout=1s

并尝试通过添加 sql 文件来测试这一点:

pg_sleep(9999)

但是超时不起作用

java connection-timeout r2dbc
2个回答
0
投票

我不是 Java 人员,但似乎您可以使用选项映射在 r2dbc 中设置语句超时。 检查此处,然后搜索编程连接工厂发现。

另外,似乎您可以使用statementTimeout而不是statement_timeout在连接字符串上设置参数(需要测试)。我认为 postgres 默认情况下不支持在连接字符串处设置语句超时:(

我希望这对您有所帮助,并且请不要让自己因之前回答过您的问题而灰心。当然,我们总是可以阅读文档,但是那些人喜欢一直说“只要阅读文档就可以了”只是为了膨胀他们的自负。我们可以阅读文档,但分享经验和知识也很棒!那么,为什么这些人要浪费时间说“阅读文档”呢?直接跳过这个问题吧。

他们告诉你阅读文档,但他们这么说并回答了错误,就像,这甚至不是你要求的相同设置。

这就是为什么现在人们更喜欢与人工智能交谈,而 StackOverflow 正在遭受痛苦。


-1
投票

说实话,我同意评论者告诉你阅读文档的观点。

谷歌搜索“postgresql超时连接字符串”后,您可以单击first hit。然后您会找到描述:“在终止尝试并生成错误之前尝试建立连接时等待的时间(以秒为单位)。”默认值为 15。

这意味着它会等待 15 秒来尝试建立连接。如果您的设备无法做到这一点,它就会放弃。 但是,如果建立了连接,只要您不终止它,它就会一直存在。至少我认为这是你所期待的?

© www.soinside.com 2019 - 2024. All rights reserved.