Yang saya tahu, pg_dump
dan pg_dumpall
tidak mendukung pembatasan semacam itu.
Anda bisa pindahkan semua fungsi Anda ke skema khusus yang dapat Anda kecualikan dari dump seperti ini:
pg_dump mydb -N function_schema > mydump.sql
Jika Anda mengikuti rute itu, Anda dapat memigrasikan fungsi ke skema lain seperti ini:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
Dalam hal ini saya juga akan mengadaptasi search_path
di postgresql.conf
(dan mungkin dalam default untuk database dan peran)
SET search_path = public,function_schema [,more schemas]
Sebagai alternatif , Anda dapat membiarkan fungsi dalam skema default public
dan tidak menggunakan skema itu untuk hal lain. Letakkan objek Anda dalam satu atau lebih skema terpisah. Itu akan membuat pemutakhiran PostGis lebih mudah.
Mungkin ide yang bagus untuk tidak gunakan public
skema untuk objek Anda. Saya biasanya memesannya untuk PostGis atau ekstensi lain yang dipasang ke public
secara default. Saya suka menggunakan skema khusus untuk setiap aplikasi. Mempermudah pemeliharaan - termasuk pencadangan dan pemberian izin.