Postgres veritabanımdaki tüm fonksiyonların yedeğini almak istiyorum.Sadece Postgres fonksiyonlarında yedekleme nasıl yapılır
cevap
pg_getfunctiondef
; system information functions'a bakın. PostgreSQL 8.4'te pg_getfunctiondef
eklenmiştir.
SELECT pg_get_functiondef('proc_name'::regproc);
Eğer
pg_catalog
sistem tabloları sorgulayabilir bir şemada tüm fonksiyonları dökümü için; Eğer
public
her şeyi istiyorsa ki:
SELECT pg_get_functiondef(f.oid)
FROM pg_catalog.pg_proc f
INNER JOIN pg_catalog.pg_namespace n ON (f.pronamespace = n.oid)
WHERE n.nspname = 'public';
o istediğini yerine eğer "pg_
ile başlayan dışındaki tüm şemalar gelen" söylemek yukarıdaki değiştirmek için Önemsiz. ,
psql -At dbname > /path/to/output/file.sql <<"__END__"
... the above SQL ...
__END__
başka DB çıkışını çalıştırmak için böyle bir şey kullanın::
psql
size bir dosyaya bu dökümü
psql -1 -v ON_ERROR_STOP -f /path/to/output/file.sql target_db_name
sizin gibi veritabanları arasında fonksiyonlarını kopyalayan ediyorsanız Bununla birlikte, bu, fonksiyon tanımlarının birer kopyasını, bir PostgreSQL uzantısı olarak paketlenmiş, svn veya git gibi bir revizyon kontrol sisteminde bir SQL betiği olarak saklamayı düşünür. Bakınız packaging extensions.
Yalnızca işlevleri boşaltmak için pg_dump
ürününü söyleyemezsiniz. Ancak, bir dökümü veri olmadan (-s
) yapabilir ve geri yüklemek için filtreleyebilirsiniz. -Fc
bölümüne dikkat edin: bu, pg_restore
için uygun bir dosya üretecektir.
pg_dump -U username -Fc -s -f dump_test your_database
Sonra fonksiyonların listesini oluşturmak: Öncelikle dökümü almak
pg_restore -U username -d your_other_database -L function_list dump_test
: nihayet
pg_restore -l dump_test | grep FUNCTION > function_list
Ve onları geri (-L
yukarıda oluşturulan liste dosyası belirtir)
- 1. IIS'de nasıl yedekleme yapılır
- 2. Postgres yedekleme komut dosyası gönderilmiyor
- 3. Postgres: Kompozit anahtarlar nasıl yapılır?
- 4. Docker kabından ana bilgisayarına nasıl yedekleme yapılır?
- 5. Node.js aracılığıyla Postgres bağlantısı nasıl yapılır
- 6. Dağıtım için docker görüntüsünü yedekleme/geri yükleme nasıl yapılır?
- 7. Nasıl Yapılır Postgres Kopyala büyük txt dosyasının ilk satırını yoksayar
- 8. Fortran fonksiyonlarında isteğe bağlı argümanlar
- 9. Sadece test durumları için test nasıl yapılır
- 10. JTable işlemi sadece hareket tuşları nasıl yapılır?
- 11. Postgres
- 12. Postgres
- 13. node-postgres: Postgres CLI
- 14. Preg PHP'nin fonksiyonlarında ne anlama geliyor?
- 15. SQL Server'da yedekleme nasıl çalışır?
- 16. Postgres
- 17. Postgres,
- 18. Postgres
- 19. VMWare ESX Sunucu Yedekleme
- 20. Django flatpages yedekleme?
- 21. Android 2.2 Veri Yedekleme: DefaultSharedPreferences nasıl yedeklenir?
- 22. mysql veritabanı yedekleme
- 23. yedekleme .sqlite (Çekirdek veri)
- 24. Android SharedPreferences Yedekleme Çalışmıyor
- 25. JQuery yedekleme alternatifi
- 26. Yedekleme IoT çekirdek resmi
- 27. yedekleme Tortoise SVN dosyaları
- 28. Codeigniter dizilerini kullanarak toplu güncelleştirme nasıl yapılır? Sadece sormak istiyorum
- 29. Bir daire nasıl yapılır sadece farklı renklerdeki farklı divlarda görünür?
- 30. FullCalendar - Sadece haftalık bir takvimi göstermek için nasıl yapılır
Ayrıca ben bu işlevleri başka bir db.How.Iyi yapabilir miyim.İşlevleri sadece – vmb
@vmb geri yüklemek gerekiyor Çıkış, SQL fonksiyon tanımları, bu yüzden onları psql içine boru. Güncellenmiş cevaba bakınız. Daha da iyisi, bir uzantı oluşturun ve bunları paketleyin. –
Dikkat edilmelidir ki, 'pg_get_functiondef ('proc_name' :: regproc)' **, fonksiyon tanımının bir parçası olarak düşünülebilecek fonksiyonun ayrıcalıklarını ("GRANT" ve "REVOKE" ifadeleri) boşa çıkarmaz. – NumberFour