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

Kecualikan definisi fungsi saat membuang database PostgreSQL

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa apakah ada baris atau tidak di postgresql

  2. Pakar yang sama dengan perilaku yang berbeda

  3. Python psycopg2 tidak dimasukkan ke dalam tabel postgresql

  4. Gabungkan kueri dengan hanya kolom yang memiliki semua nilai dalam klausa `dalam`

  5. ResultTransformer dengan createSQLQuery tidak memaksa camelCase di bidang entitas