Реших този проблем, като направих резервно копие за всички схеми поотделно, тъй като размерът на базата данни (независимо дали е брой схеми или брой таблици) се увеличава и е трудно да се направи резервно копие с помощта на pg_dump.
Направих следната модификация на скрипта, за да направя резервно копие на схемата:
-
Преди стартиране на
pg_dump
, изброява всички схеми на бази данни във файл. За да можем да повторим всички схеми и да направим резервно копие за схема.Ето командата за изброяване на всички схеми във файл
psql <db_name> -o <output_file> < <sql_to_list_schema>
Тук
sql_to_list_schema
съдържаSELECT n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' И n.nspname <> 'information_schema';
-
Сега прочетете всички редове на
output_file
и направете резервно копие на тази схемаpg_dump <db_name> -f <backup_file> -i -x -O -R -n <schema_name_read_from_file>