PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara mengambil cadangan fungsi hanya di Postgres

gunakan pg_getfunctiondef; lihat fungsi informasi sistem. pg_getfunctiondef telah ditambahkan di PostgreSQL 8.4.

SELECT pg_get_functiondef('proc_name'::regproc);

Untuk membuang semua fungsi dalam skema, Anda dapat membuat kueri tabel sistem di pg_catalog; katakan jika Anda menginginkan semuanya dari public :

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

sepele untuk mengubah di atas untuk mengatakan "dari semua skema kecuali yang dimulai dengan pg_ " sebagai gantinya jika itu yang Anda inginkan.

Di psql Anda dapat membuang ini ke file dengan:

psql -At dbname > /path/to/output/file.sql <<"__END__"
... the above SQL ...
__END__

Untuk menjalankan output di DB lain, gunakan sesuatu seperti:

psql -1 -v ON_ERROR_STOP -f /path/to/output/file.sql target_db_name

Namun, jika Anda mereplikasi fungsi di antara DB seperti ini, pertimbangkan untuk menyimpan salinan otoritatif dari definisi fungsi sebagai skrip SQL dalam sistem kontrol revisi seperti svn atau git, sebaiknya dikemas sebagai ekstensi PostgreSQL. Lihat ekstensi pengemasan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails dan PostgreSQL:Peran postgres tidak ada

  2. Mengelola Ketersediaan Tinggi di PostgreSQL – Bagian III:Patroni

  3. Mendapatkan tanggal dengan offset zona waktu

  4. Hak Istimewa PostgreSQL &Manajemen Pengguna - Yang Harus Anda Ketahui

  5. Persimpangan beberapa array di PostgreSQL