sql >> Database teknologi >  >> RDS >> PostgreSQL

Udelad funktionsdefinitioner, når du dumper en PostgreSQL-database

For alt hvad jeg ved, pg_dump og pg_dumpall understøtter ikke nogen sådan begrænsning.

Du kunne flyt alle dine funktioner til et dedikeret skema, som du kan udelukke fra dumpet på denne måde:

pg_dump mydb -N function_schema > mydump.sql

Hvis du går den vej, kan du migrere funktioner til et andet skema sådan her:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

I dette tilfælde ville jeg også tilpasse search_path i postgresql.conf (og muligvis i standardindstillingerne for databaser og roller)

SET search_path = public,function_schema [,more schemas]

Som et alternativ , kan du lade funktionerne være i deres standardskema public og ikke bruge det skema til noget andet. Sæt dine objekter i et eller flere separate skemaer. Det skulle gøre opgradering af PostGis nemmere.

Det kan være en god idé at ikke brug den public skema for dine objekter. Jeg reserverer det normalt til PostGis eller andre udvidelser, der installeres i public som standard. Jeg kan godt lide at bruge et dedikeret skema til hver applikation. Gør vedligeholdelse nemmere - herunder sikkerhedskopiering og tildeling af tilladelser.




  1. Vælg specifikke rækker og kolonner fra en SQL-database

  2. SQL:hvordan finder jeg ud af, om indholdet af en varchar-kolonne er numerisk?

  3. hvordan man begrænser antallet af kolonner, der skal opdateres ved hjælp af Oracle?

  4. Brug Like i MySQL til søgeoperationer ved hjælp af mønster