Rozwiązałem ten problem, robiąc kopię zapasową dla wszystkich schematów indywidualnie, ponieważ rozmiar bazy danych (czy to liczba schematów, czy liczba tabel) zwiększa się, trudno jest wykonać kopię zapasową za pomocą pg_dump.
Wykonałem następującą modyfikację skryptu, aby wykonać kopię zapasową według schematu:
-
Przed uruchomieniem
pg_dump
, wypisz wszystkie schematy bazy danych w pliku. Abyśmy mogli iterować wszystkie schematy i wykonać kopię zapasową schematu.Oto polecenie, aby wyświetlić wszystkie schematy w pliku
psql
-o < Tutaj
sql_to_list_schema
zawieraSELECT n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema';
-
Teraz przeczytaj wszystkie wiersze
pliku wyjściowego
i wykonaj kopię zapasową tego schematupg_dump
-f -i -x -O -R -n