Подтвердить что ты не робот

Как найти количество строк в базе данных heroku

Название в значительной степени подводит итог моему вопросу, но вот подробности:

Я запускаю script для импорта строк в базу данных heroku. Я начал получать ошибки:

<class 'django.db.utils.DatabaseError'> current transaction is aborted, commands ignored until end of transaction block

script работает плавно на моем локальном хосте, поэтому я не ищу там проблем. Недавно я получил электронное письмо от heroku, в котором говорилось, что я "приближается к пределу строки для базы данных разработчиков"

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

Кто-нибудь знает, как я могу найти текущее количество строк для всей базы данных? (Я знаю, что могу просто рассчитывать на каждый стол, но я надеюсь, что там будет более чистый способ)

4b9b3361

Ответ 1

Если у вас есть инструмент heroku cli, это даст вам, помимо прочего, количество строк в вашей базе данных

heroku pg:info -a your_app

Также указаны тип вашего плана, статус db, количество текущих соединений, версия postgres, когда был создан db, количество строк в вашем плане, размер данных, количество таблиц и если ваш db имеет активируются любые функции fork/follow.

Ответ 2

Это даст вам приблизительное количество всех строк в вашей базе данных:

 SELECT sum(reltuples) from pg_class where relname IN (SELECT c.relname
 FROM pg_catalog.pg_class c
 LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
 WHERE c.relkind = 'r'
 AND n.nspname <> 'pg_catalog'
 AND n.nspname <> 'information_schema'
 AND n.nspname !~ '^pg_toast'
 AND pg_catalog.pg_table_is_visible(c.oid));

Хотя сообщение об ошибке указывает на некоторую ошибку в вашей базе данных, вероятно, нарушение ограничений в сравнении с чем-то с отменой ваших привилегий вставки.