我在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 需要很多时间...
要解决我的问题,我看到两个选项:
我愿意接受任何建议。 请给我有关如何快速正确读取数据库大小的任何想法。
答案 0 :(得分:0)
这里的sql非常相似,可以直接在postgresql上正常运行
选择pg_database.datname,pg_size_pretty(pg_database_size(pg_database.datname))作为pg_database的大小; ---作为选项2?