PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Loại trừ các định nghĩa hàm khi kết xuất cơ sở dữ liệu PostgreSQL

Đối với tất cả những gì tôi biết, pg_dump pg_dumpall không hỗ trợ bất kỳ hạn chế nào như vậy.

Bạn có thể chuyển tất cả các chức năng của bạn sang một lược đồ chuyên dụng mà bạn có thể loại trừ khỏi kết xuất như sau:

pg_dump mydb -N function_schema > mydump.sql

Nếu đi theo lộ trình đó, bạn có thể di chuyển các hàm sang một giản đồ khác như thế này:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

Trong trường hợp này, tôi cũng sẽ điều chỉnh search_path trong postgresql.conf (và có thể ở các giá trị mặc định cho cơ sở dữ liệu và vai trò)

SET search_path = public,function_schema [,more schemas]

Như một thay thế , bạn có thể để các hàm trong lược đồ mặc định của chúng public và không sử dụng lược đồ đó cho bất kỳ điều gì khác. Đặt các đối tượng của bạn trong một hoặc nhiều lược đồ riêng biệt. Điều đó sẽ giúp nâng cấp PostGis dễ dàng hơn.

Có thể là một ý kiến ​​hay để không sử dụng public lược đồ cho các đối tượng của bạn. Tôi thường dành nó cho PostGis hoặc các tiện ích mở rộng khác cài đặt vào public theo mặc định. Tôi thích sử dụng một lược đồ chuyên dụng cho mọi ứng dụng. Giúp bảo trì dễ dàng hơn - bao gồm sao lưu và cấp quyền.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn về Ruby PostgreSQL

  2. Làm cách nào để đếm setof / số khóa của JSON trong postgresql?

  3. PostgreSQL Tạo chỉ mục

  4. Cách tính toán trung bình động trong PostgreSQL

  5. Ý nghĩa của epoch trong txid_current () trong postgresql là gì?