Jag löste det här problemet genom att ta backup för alla scheman individuellt eftersom storleken på databasen (vare sig det är antalet scheman eller antalet tabeller) ökar det är svårt att ta backup med pg_dump.
Jag har gjort följande modifiering av skriptet för att ta schemamässig backup:
-
Innan du kör
pg_dump
, lista alla databasscheman i en fil. Så att vi kan iterera alla scheman och ta backup för ett schema.Här är kommandot för att lista alla scheman till en fil
psql <db_name> -o <output_file> < <sql_to_list_schema>
Här
sql_to_list_schema
innehållerVÄLJ n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' OCH n.nspname <> 'informationsschema';
-
Läs nu alla rader i
output_file
och ta backup av det schematpg_dump <db_name> -f <backup_file> -i -x -O -R -n <schema_name_read_from_file>