Postku'ları Heroku üzerinde kullanıyorum ve üretim DB'imden bir tabloyu dökmem ve bunu DB'imdeki DB'ye dökmem gerekiyor. Ben Heroku alet kemeri yüklü, ancak benim evreleme db içine almak için tek bir db tablo dökümü emin değilim.Heroku üzerinde Postgres ve dosya dökümü için tek tabloya dökümü
cevap
Öyle gibi verilerin tek bir tablo dökümü:
$ pg_dump --no-acl --no-owner -h [host ip].compute-1.amazonaws.com -U [user name] -t [table name] --data-only [database name] > table.dump
Bu işle gerekli tüm değerleri alabilirsiniz: Bu şifre isteyecektir
$ heroku pg:credentials:url [DATABASE] -a [app_name]
Connection info string:
"dbname=[database name] host=[host ip].compute-1.amazonaws.com port=5432 user=[user name] password=[password] sslmode=require"
Connection URL:
postgres://[username]:[password]@[host ip].compute-1.amazonaws.com:5432/[database name]
. Girin ve yerel sürücünüzde bir dosya almak için table.dump
'a devam edin. Eğer evreleme app için pg:credentials
için yeni bir çağrı ait Connection URL:
çıkışı ile psql
kullanmak ve sadece bu tabloyu geri yükleyebilirsiniz, bu dosya ile
$ echo "truncate [table];" | heroku pg:psql [DATABASE] -a staging_app
:
Muhtemelen evreleme tabloyu kesmek istiyorum .
$ psql "[pasted postgres:// from pg:credentials:url of staging app]" < table.dump
SET
SET
...
...
...
...
$
Musluklara bir göz atın (db:pull
), kullanım durumunuz this answered question kapsamındadır.
"heroku db: pull --tables tbl_name - komutunu çalıştırdığımda - app dbname', aşağıdaki hatayı alıyorum: Geçersiz veritabanı URL'si – dennismonsewicz
bu artık mümkün değil. – Pak
@catsbys
Ben depg_dump no-acl --no sahibi -h [konak ip] .compute-1.amazonaws portunu eklemek için gerekli cevap. com -p [port] -U [kullanıcı adı] -t [tablo adı] - sadece veri [veritabanı adı]> tablo.dump
- 1. Postgres dökümü: pg_catalog.setval
- 2. Dosya verileri olmadan dökümü postgresql
- 3. Yöntem 'dökümü'
- 4. Tekil bir dosya dökümü belgesinde çapraz referanslama
- 5. mySQL dökümü tutarsızlığı
- 6. Tek Bir Dosyaya Birden Çok .sql Tablo Dökümü Dosyalarını Birleştirin
- 7. Heroku'ya bir postgresql dökümü içe aktarılıyor
- 8. Perl bir karma bir elektronik tabloya veri dökümü
- 9. Windows Aktif bellek dökümü
- 10. Çekirdek dökümü nasıl çözümlenir
- 11. Yinelenen alanlar üzerine yazmadan SQL dökümü bir tabloya nasıl aktarılır
- 12. MySQL dökümü tabloları sadece
- 13. Freemarker'daki tüm değerlerin dökümü.
- 14. Genel değişkene dökümü
- 15. Python iş parçacığı dökümü
- 16. Mysql konsolunda MySQL dökümü
- 17. DB2'den SQL Dökümü
- 18. MySQL dökümü dosyası nerede?
- 19. Çoklu Akış Vikipedi dökümü
- 20. WebSQL verileri dışarı aktarma (dökümü)
- 21. Dökümü depolamak için ne tür mysql sütunu?
- 22. Belirli bir PID için backtrace dökümü
- 23. PostgreSQL - her tablonun farklı bir dosyaya dökümü
- 24. Neden tek bir revizyonun SVN dökümü tam dökümden daha büyük?
- 25. Bunu kullanarak Postgres 9.3.4 için bir dökümü yedek dosyası oluşturulur pg_restore
- 26. ReadVirtual nedeniyle yığın dökümü oluşturulamadı
- 27. 'heapdump.xxx.phd'. Değil bir HPROF yığın dökümü (java.io.IOException) bir HPROF yığın dökümü değil
- 28. Telerik ızgarasına ham html dökümü
- 29. NGINX hata günlüğü belgeleri dökümü
- 30. Django testler dökümü verileri/sonuçları
Yardımlarınız için çok teşekkürler! – dennismonsewicz
Birden fazla tabloya ihtiyacınız varsa, her tablo için -t anahtarını ekleyin. Yani, pg_dump --no-acl --no-sahibi -h [ana bilgisayar ip] .compute-1.amazonaws.com -U [kullanıcı adı] -t [tablo adı 1] -t [tablo adı 2] -t [tablo adı 3] --data [veritabanı adı]> table.dump' – vansan
Bu harika çalıştı, teşekkürler. Bunu yapan diğerleri için: Yukarıdaki adımları tamamladıktan sonra, PG birincil anahtar sıranızı sıfırlamayı unutmayın, böylece hangi birincil anahtarın başlayacağını bilmesini sağlayın. http://stackoverflow.com/questions/244243/how-to-reset-postgres-primary-key-sequence-when-it-falls-out-of-sync – umezo