sql >> Databasteknik >  >> RDS >> PostgreSQL

Uteslut funktionsdefinitioner när du dumpar en PostgreSQL-databas

För allt jag vet, pg_dump och pg_dumpall stöder inte någon sådan begränsning.

Du kunde flytta alla dina funktioner till ett dedikerat schema som du kan utesluta från dumpen så här:

pg_dump mydb -N function_schema > mydump.sql

Om du går den vägen kan du migrera funktioner till ett annat schema så här:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

I det här fallet skulle jag också anpassa search_path i postgresql.conf (och möjligen i standardinställningarna för databaser och roller)

SET search_path = public,function_schema [,more schemas]

Som ett alternativ , kan du lämna funktionerna i deras standardschema public och inte använda det schemat för något annat. Placera dina objekt i ett eller flera separata scheman. Det borde göra det enklare att uppgradera PostGis.

Det kan vara en bra idé att inte använd public schema för dina objekt. Jag reserverar det vanligtvis för PostGis eller andra tillägg som installeras i public som standard. Jag gillar att använda ett dedikerat schema för varje applikation. Gör underhållet enklare - inklusive säkerhetskopiering och beviljande av behörigheter.




  1. Vad är den interna representationen av datetime i sql-servern?

  2. välj * från tabellnamn där kolumn som " "

  3. MySQL-grupp efter rader i följd

  4. PHP infogar inte innehåll i mySQL-databasen:text, bilder, vad som helst