2012-09-14 7 views
32

タイトルかなりの金額を行の数を見つけることが、ここではより詳細ですしますはどのようにHerokuのデータベースに私の質問を

私はHerokuのデータベースに行をインポートするためのスクリプトを実行していますよ。私はエラーを取得開始しました:

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

私はそこの問題を探していないよので、スクリプトは私のローカルホスト上でスムーズに動作します。私は最近、herokuから「devデータベースの行制限に近づいています」というメールを受け取りました。

私は行制限に達したと想定していますが、これ以上確認する前に確認したいと思います。

データベース全体の現在の行数をどのように見つけることができますか?エラーものの

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)); 

:これはあなたのデータベース内のすべての行のおおよその数を与える

答えて

68

あなたはHerokuののCLIツールを使用している場合、これはあなたを与えるだろう、他のものの間で、また、与えられたデータベース内の行数

heroku pg:info -a your_app 

は、あなたの計画の種類、DBの状態、現在の数ですdbの作成日時、プラン内の行数、データサイズ、テーブル数、およびdbにフォーク/フォローオプションが有効になっているかどうかを調べます。

+0

素晴らしい、herokuは何か簡単だった。大いに感謝します – mea36

+4

Hmm。私のアプリでは、このコマンドは私に行の数を教えてくれません。これは、あなたが言及したすべてのプロパティを使用する行の数と私の計画の行の数を除いて与えます。 (私は、このアプリは "基本"計画のため、後者は1000万であることを知っています) – zem

+0

最新のherokuを使用しています2.35.0 – jpwynn

20

(私はちょうど、各テーブルの上に、カウントを行うことができます知っているが、私はクリーンな方法があります願っています)メッセージはデータベース上で何らかのエラーを示しています。おそらく制約違反と挿入権限を取り消したものがあります。

+0

sqlステートメントのおかげで私はHerokuが何かを簡単に望んでいたが、これは完全に働いた。 あなたはそれが制約違反だと仮定しているのは正しいですが、輸入の半分は働いたので、それはそうは思いません。私は行の限界を超えているのでうまくいけば、それは問題だ – mea36

関連する問題