2012-09-14 20 views
32

Başlık hemen hemen meblağlar satır sayısını yukarı bulmak, ama burada daha fazla detaylar için:nasıl Heroku veritabanında sorumu

Bir Heroku veritabanına satırı içe için bir komut dosyası çalıştırıyorum. Orada problemler aramıyorum bu yüzden

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

senaryo benim localhost sorunsuz: Ben alıyorum hataları başladı. Son zamanlarda "dev veritabanı için satır sınırına yaklaştığımı" belirten bir e-posta aldım.

Satırı sınırladığımı varsayarak, daha fazla işlem yapmadan önce bunu doğrulamak istiyorum.

Tüm veritabanı için geçerli satır sayımı nasıl bulabileceğimi bilen var mı? (Ben sadece her masada bir sayım yapabiliriz biliyorum ama daha temiz bir yolu var umut ediyorum)

cevap

68

, bu da verilen

heroku pg:info -a your_app 

planın tipi, db durumu, akım sayısıdır veritabanınızda, diğer şeyler arasında, satır sayısını verecek bağlantılar, postgres sürümü, db oluşturulduğunda, planınızdaki satır sayısı, veri boyutu, tablo sayısı ve db'nizde herhangi bir fork/follow seçeneğinin etkin olması durumunda. Sql ifadesi için

+0

sayısında harika, heroku daha kolay bir şey yaptı. Çok takdir – mea36

+4

Hmm. Uygulamamda bu komut bana satır sayısını söylemiyor. Bana, kullandığınız satır sayısı ve planımdaki satır sayısı hariç, bahsettiğiniz tüm özellikleri verir. (Ikincisi 10 milyon olduğunu biliyorum, çünkü bu uygulama "temel" planı.) – zem

+0

da satırları görmüyor - en son heroku kullanarak 2.35.0 – jpwynn

20

Bu size veritabanı içindeki tüm satırların yaklaşık bir sayıyı verecektir: hata olsa

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

ileti, veritabanınızdaki bir hatayı, büyük olasılıkla bir kısıtlama ihlali olduğunu, ekleme ayrıcalıklarınızla ilgili bir şeyin iptal edildiğini belirtir. Eğer Heroku cli aracı varsa

+0

teşekkürler. Heroku'nun daha kolay bir şey olduğunu umuyordum ama bu mükemmel bir şekilde çalıştı. Bir kısıtlama ihlali olduğunu varsaymakla hakkınız var, ancak ithalatların yarısı işte bu yüzden bunu düşünmüyorum. Satır sınırımın üstündeyim yani umarım bu konu – mea36