如何将 postgres 12 生成的 sql 文件恢复到 postgres 9.6 数据库中
How to restore postgres 12 generated sql file into postgres 9.6 database
我正在尝试恢复数据库。数据库 sql 文件大约有 4.5 GB,所以我无法在编辑器上对其进行编辑。我在 postgres 12 中使用以下命令转储数据库;
pg_dump -d postgres > backup.sql
但我在 postgres 9.6 中需要相同的数据库。为此,我写了下面的代码来恢复它
psql -d postgres < backup.sql
显示这样的错误。但这不是给定问题的重复问题。
错误信息;
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 文件来恢复吗?
感谢@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
我正在尝试恢复数据库。数据库 sql 文件大约有 4.5 GB,所以我无法在编辑器上对其进行编辑。我在 postgres 12 中使用以下命令转储数据库;
pg_dump -d postgres > backup.sql
但我在 postgres 9.6 中需要相同的数据库。为此,我写了下面的代码来恢复它
psql -d postgres < backup.sql
显示
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 文件来恢复吗?
感谢@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