Jeg løste dette problem ved at tage backup for alle skemaer individuelt, da størrelsen på databasen (det være sig antallet af skemaer eller antallet af tabeller) øger det er svært at tage backup ved hjælp af pg_dump.
Jeg har lavet følgende modifikation af scriptet for at tage skemamæssig backup:
-
Før du kører
pg_dump
, liste alle databaseskemaer i en fil. Så vi kan iterere alle skemaer og tage backup til et skema.Her er kommandoen til at liste alle skemaer til en fil
psql
-o < Her
sql_to_list_schema
indeholderVÆLG n.nspnameFRA pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' OG n.nspname <> 'informationsskema';
-
Læs nu alle linjer i
output_file
og tag backup af det skemapg_dump
-f -i -x -O -R -n