0

我在 Azure PostgreSQL 服务器上有非常严重的行为。

我尝试使用下一个查询读取数据库大小:

SELECT CAST(pg_database_size(current_database()) * 1.0/(1024 * 1024) AS DECIMAL(12, 5))

但是这个查询运行时间很长,我的 C# 应用程序中有超时异常:

Exception while reading from stream; Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

我不知道为什么pg_database_size需要很多时间......

为了解决我的问题,我看到了两个选项:

  1. 使用 Azure PostgreSQL 服务器设置提高查询性能
  2. 将当前查询替换为具有某些结果的另一个查询

我愿意接受任何建议。请给我任何关于如何快速正确地读取数据库大小的想法。

4

1 回答 1

0

这是非常相同的sql,直接在postgresql上运行良好

从 pg_database 中选择 pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) 作为大小;--- 作为选项#2?

于 2018-09-30T19:50:21.823 回答