pg_database_size очень медленно работает с Azure PostgreSQL

У меня очень странное поведение на сервере 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 Server.
  2. Заменить текущий запрос другим запросом с некоторым результатом

Я открыт для любых предложений. Пожалуйста, дайте мне какие-либо идеи о том, как я могу быстро и правильно читать размер БД.

1 ответ

Вот очень похожий sql, работает нормально прямо на postgresql

ВЫБЕРИТЕ pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) как размер ОТ pg_database; --- как вариант № 2?

Другие вопросы по тегам