Как восстановить сгенерированный postgres 12 файл sql в базу данных postgres 9.6

Пытаюсь восстановить базу. Размер файла sql базы данных составляет около 4,5 ГБ, поэтому я не мог редактировать его в редакторе. Я выгружаю базу данных, используя следующую команду в postgres 12;

pg_dump -d postgres > backup.sql

Но мне нужна такая же база данных в postgres 9.6. Для этого я пишу следующий код для его восстановления

psql -d postgres < backup.sql

Он показывает ошибку, подобную this (ошибка при создании последовательности). Но это не дубликат с данным вопросом. сообщение об ошибке;

SET
ERROR:  unrecognized configuration parameter "default_table_access_method"
CREATE TABLE
ALTER TABLE
ERROR:  syntax error at or near "AS"
LINE 2:     AS integer
            ^
ERROR:  relation "epicenter.epicenter_gid_seq" does not exist
ERROR:  relation "epicenter.epicenter_gid_seq" does not exist
CREATE TABLE
ALTER TABLE
ERROR:  syntax error at or near "AS"
LINE 2:     AS integer
            ^
ERROR:  relation "public.725_4.5_tur_gid_seq" does not exist
ERROR:  relation "public.725_4.5_tur_gid_seq" does not exist
CREATE TABLE
ALTER TABLE

Я видел ответ на этот вопрос. В ответе уже говорилось, что файл sql не будет работать в более старой версии. Но я хочу знать, есть ли способ восстановить с помощью этого файла sql?


person gis    schedule 15.12.2019    source источник
comment
Пожалуйста, покажите собственное сообщение об ошибке. Трудно понять, что происходит в вашей базе данных, основываясь на чужом сообщении об ошибке. Это возможно, но это может занять немного времени. Достаточно ли мал файл backup.sql для редактирования в текстовом редакторе?   -  person jjanes    schedule 15.12.2019
comment
Отвечает ли это на ваш вопрос? Ошибка создания ПОСЛЕДОВАТЕЛЬНОСТЕЙ при восстановлении базы данных PostgreSQL   -  person JGH    schedule 15.12.2019
comment
Я обновил свой вопрос. Моя база данных имеет размер 4,5 ГБ, поэтому я не могу редактировать ее в текстовом редакторе.   -  person gis    schedule 16.12.2019


Ответы (1)


Спасибо @jjanes и @JGH за сотрудничество. Я нашел одно решение. Сначала я делаю резервную копию базы данных, используя следующую команду;

pg_dump -U postgres -h localhost -p 5432 -W earthquake | gzip -c > backup.gz

Затем я создаю базу данных землетрясений вручную из файла pgadmin 4. После получения файла backup.gz я восстанавливаю его с помощью следующей команды в терминале;

gzip -d -c backup.gz | sed -e '/AS integer/d' | psql -U postgres -h localhost -p 5432 -W earthquake
person gis    schedule 16.12.2019