sql >> Databáze >  >> RDS >> PostgreSQL

Při ukládání databáze PostgreSQL vyloučit definice funkcí

Co já vím, pg_dump a pg_dumpall nepodporují žádné takové omezení.

Mohli byste přesuňte všechny své funkce do vyhrazeného schématu, které byste mohli z výpisu vyloučit takto:

pg_dump mydb -N function_schema > mydump.sql

Pokud půjdete touto cestou, můžete migrovat funkce do jiného schématu takhle:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

V tomto případě bych také přizpůsobil search_path v postgresql.conf (a případně ve výchozím nastavení pro databáze a role)

SET search_path = public,function_schema [,more schemas]

Jako alternativu , můžete funkce ponechat v jejich výchozím schématu public a nepoužívejte toto schéma pro nic jiného. Umístěte své objekty do jednoho nebo více samostatných schémat. To by mělo usnadnit aktualizaci PostGis.

Může být dobrý nápad ne použijte public schéma pro vaše objekty. Obvykle jej rezervuji pro PostGis nebo jiná rozšíření, která se instalují do public ve výchozím stavu. Rád používám vyhrazené schéma pro každou aplikaci. Usnadňuje údržbu – včetně zálohování a udělování oprávnění.




  1. EXTRACT (datetime) Funkce v Oracle

  2. Zjistěte, zda je oddíl komprimován v SQL Server (T-SQL)

  3. Vytváření událostí MySQL v Amazon RDS

  4. Příkaz MySQL Insert vs syntaxe dotazu T-SQL s příklady