PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyklucz definicje funkcji podczas zrzucania bazy danych PostgreSQL

Z tego co wiem, pg_dump i pg_dumpall nie obsługują żadnego takiego ograniczenia.

możesz przenieś wszystkie swoje funkcje do dedykowanego schematu, który możesz wykluczyć ze zrzutu w następujący sposób:

pg_dump mydb -N function_schema > mydump.sql

Jeśli pójdziesz tą drogą, możesz migrować funkcje do innego schematu tak:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

W tym przypadku dostosowałbym również search_path w postgresql.conf (i prawdopodobnie w ustawieniach domyślnych dla baz danych i ról)

SET search_path = public,function_schema [,more schemas]

Jako alternatywa , możesz pozostawić funkcje w ich domyślnym schemacie public i nie używaj tego schematu do niczego innego. Umieść swoje obiekty w co najmniej jednym osobnym schemacie. To powinno ułatwić aktualizację PostGis.

Dobrym pomysłem może być nie użyj public schemat dla twoich obiektów. Zwykle rezerwuję go dla PostGis lub innych rozszerzeń, które instalują się w public domyślnie. Lubię używać dedykowanego schematu dla każdej aplikacji. Ułatwia konserwację - w tym tworzenie kopii zapasowych i nadawanie uprawnień.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO nie zgłasza wyjątku z niezwiązanymi parametrami (i bez zmiennych w zapytaniu)

  2. Bardzo powolne uruchamianie aplikacji Spring Boot

  3. Dodawanie klucza do pustej kolumny hstore

  4. Nie można połączyć się z https://api.elephantsql.com z pg admin

  5. PG::Błąd:SELECT DISTINCT, ORDER BY wyrażenia muszą pojawić się na liście wyboru